[Twisted-Python] Scaling problem

Uwe C. Schroeder uwe at oss4u.com
Tue Nov 4 13:19:31 EST 2003

Hash: SHA1

Hi guys,

is there a way to have one service start several processes ?
When using twisted everyone connecting to the server ends in the same process. 
This leads to "slowing down" when requesting information whenever a certain 
number of people go on. Each request takes some time to process and meanwhile 
the server is less responsive. I have one particularly expensive function 
that takes a bit. So if several people happen to use this function at a time 
the server slows down, up to where it takes a minute to complete.
It's not a problem of system ressources (it's a quad processor xeon server 
with plenty of RAM and ultra 320 scsi drives running only this application 
and the postgres backend). The machine has a load of 0.2 while slowing down.
Basically most of the machine is idle, since it only runs 2 processes and has 
4 processors.
Is there a way to have twisted do something like apache or postgres and split 
the incoming connection to several processes ? It's not a web application, 
I'm solely using pb.
BTW: You might suggest to break down the expensive function into smaller 
pieces - no way. It has to run in one database transaction otherwise I might 
end up with a inconsistent database - no good in finance business.



- --
Open Source Solutions 4U, LLC	2570 Fleetwood Drive
Phone:  +1 650 872 2425		San Bruno, CA 94066
Cell:   +1 650 302 2405		United States
Fax:    +1 650 872 2417
Version: GnuPG v1.2.1 (GNU/Linux)


More information about the Twisted-Python mailing list