offload the RSA keypair generation? #372

Closed
opened 2008-03-28 19:59:24 +00:00 by warner · 2 comments
warner commented 2008-03-28 19:59:24 +00:00
Owner

We're monitoring the allmydata.com user-facing web-api server, and we're
noticing that it is doing a significant amount of RSA key generation. Each
time somebody creates a directory, the reactor is stalled for a second or two
while the CPU cranks through the generation of the kilobit primes. This will
reduce responsiveness: not just for the dirnode creation taking place, but
for all others users.

We're thinking about pushing the keypair generation off to a separate
process. The interface would be to drop a "key-generation.furl" in your
node's basedir. If present, a simple foolscap protocol would be used to ask
this server for a key. The server could pre-generate a batch of keys when
it's idle. The server would probably run on the same server as the web-api
machine, but it could use a different core if that host is SMP.

We're monitoring the allmydata.com user-facing web-api server, and we're noticing that it is doing a significant amount of RSA key generation. Each time somebody creates a directory, the reactor is stalled for a second or two while the CPU cranks through the generation of the kilobit primes. This will reduce responsiveness: not just for the dirnode creation taking place, but for all others users. We're thinking about pushing the keypair generation off to a separate process. The interface would be to drop a "key-generation.furl" in your node's basedir. If present, a simple foolscap protocol would be used to ask this server for a key. The server could pre-generate a batch of keys when it's idle. The server would probably run on the same server as the web-api machine, but it could use a different core if that host is SMP.
tahoe-lafs added the
code
major
enhancement
0.9.0
labels 2008-03-28 19:59:24 +00:00
tahoe-lafs added this to the 1.1.0 milestone 2008-03-28 19:59:24 +00:00
warner commented 2008-04-23 19:18:55 +00:00
Author
Owner

rob implemented this several weeks ago and it's been working correctly on the prodnet webapi servers.

rob implemented this several weeks ago and it's been working correctly on the prodnet webapi servers.
tahoe-lafs added the
fixed
label 2008-04-23 19:18:55 +00:00
warner closed this issue 2008-04-23 19:18:55 +00:00
zooko commented 2008-05-05 21:08:36 +00:00
Author
Owner

Milestone 1.0.1 deleted

Milestone 1.0.1 deleted
tahoe-lafs added this to the 1.1.0 milestone 2008-05-05 21:08:36 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tahoe-lafs/trac-2024-07-25#372
No description provided.