Forking Python server.
authorDavid Reiss <dreiss@apache.org>
Tue, 10 Jun 2008 22:54:49 +0000 (22:54 +0000)
committerDavid Reiss <dreiss@apache.org>
Tue, 10 Jun 2008 22:54:49 +0000 (22:54 +0000)
commit665365490f3e14cf3e40205f16d9dc9b5a833f1e
treebc1906ec9842ade416bef56498df5360af96b272
parentaf296954ea59369129b4129633e263fd65b503de
Forking Python server.

The python threading model does not provide concurrency for CPU-bound
processes.  Process forking is the current recommended way of writing
scalable Python servers.

Harry Wang ran the [elided] backend with this change for 3 days and observed
no errors.  The threaded backend caused unexplained lockups under this load
after 24 hours.

I also ran a CPU-bound load test against this server with 32 concurrent
clients.  It completed 5X faster than the threaded implementation.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@666359 13f79535-47bb-0310-9956-ffa450edef68
lib/py/src/server/TServer.py