On Thursday 10 Oct 2002 7:02 pm, Brian R Brinegar wrote:
On Thu, 10 Oct 2002, Toby Dickenson wrote:
On Thursday 10 Oct 2002 5:06 pm, Brian R Brinegar wrote:
And my first intuition is to increase the number of threads.
If your system is already cpu bound then your intuition may be wrong. more threads means more context switching overhead reducing overall throughput, each request takes longer because they get a smaller share of the cpu, and a larger memory overhead (memory usage is proportional to the number of threads)
It's possible to add more Zeo Clients which will produce more available threads. I don't want to buy more machines if the machines we have aren't being using to capacity.
more threads on the same number of machines wont increase capacity unless you are doing something that blocks requests without using cpu time, such as making requests to an external rdbms. You could try fewer threads, perhaps 2 per cpu, and set a proportionally larger zodb cache size.
If there is a way to see that the Zeo Clients are getting more requests than they can handle and thus queueing up requests it is probably time to add more machines.
Does your front end proxy log elapsed time for each request? squid does.