Hello John,
I'm running a Zope-application (2.5.1, Python 2.1.3) on a dual processor (1 GB mem) Redhat 7.3 machine. User-authentication is done by the exUserFolder-product (on Postgresql 7.2.1). An apache-server runs in front of the Zope server.
Now for the problem/questions. Problem: unacceptable performance with 200 requests/sec. Questions: - which steps can be taken to improve performance ? for the moment 6 child processes are running which each use 60 MB of memory (?isn't this alot) ; increasing the number of threads will probably help, but if each thread will probably use 60 MB - how good is the smp-support of Zope (Python) ?
You have a dual processor machine, to double your speed use ZEO. Python doesn't use the second Processor. (see GIL Tread on comp.lang.python) Use the cacheing of user Information in the exUserFolder. (reduces access to postgresql DB) Look at your object, how long they take to run. Search the one that is slow and speed it up. A usefull Product to get execution times is Call Profile: http://www.zope.org/Members/richard/CallProfiler Use Caches if its possible. If you have a lot static content, you can use squid as a proxy cache in front of Zope. http://www.squid-cache.org Hope it helps a little bit. bye by Wolfgang