[Zope] ZSERVER, THREADS, PERFORMANCE & FUTURE PERFORMANCE

Hannu Krosing hannu@tm.ee
Thu, 11 Nov 1999 22:36:53 +0200


Sam Gendler wrote:
> 
> Regardless, 30 TPS is a terrible score.  However, I suspect there is something
> going on here that is skewing the numbers on the Zope test.  I have been in
> webserver development for many years, most of them on the cutting edge, and I
> have spent a LOT of time benchmarking various servers and proxies.  I haven't
> benchmarked Zope at all, but Zope feels much faster than a 30 TPS webserver.
> Generally, on a server that slow, requesting a single object from a browser
> will not exactly feel quick, and Zope tends to feel almost instantaneous.

Zope usually has very good latency but much worse throughput (due to very high 
level of dynamism)

> This is a very subjective analysis, but I have learned to trust my feelings on
> this one.  I have never looked at the Medusa code at all, but I suspect that
> there is something about the zeustest that causes the Zope server to be
> unhappy.  It could be that Medusa does not handle concurrency well at all,
> which would be a very bad thing.  I assume the test you are using is similar
> to the apache bench.  If so, you should definitely see more than 4 threads in
> use at once on the server, since there should be 10 connections open at all
> times (assuming the -c option is comcurrency, although -t could be
> threadcount) .

This time I changed the concurrency (-c , -t is timelimit) on zeus_benc side
 -c 1  - 41 TPS
 -c 2  and up ~ 35 TPS and max 4 threads showing as being used in top.

the top lines of top looked like this on -t 30 -c 100

 10:36pm  up 11 days, 22:56,  3 users,  load average: 0.60, 0.41, 0.24
93 processes: 91 sleeping, 2 running, 0 zombie, 0 stopped
CPU states: 32.5% user, 32.7% system,  0.0% nice, 34.6% idle
Mem:  1036316K av, 262628K used, 773688K free,  75440K shrd, 108888K buff

Swap:      0K av,      0K used,      0K free                 92476K
cached                                    
14639 zope2     12   0  8044 8044  1748 R       0 25.3  0.7   0:36 python
14643 zope2     13   0  8044 8044  1748 R       0 18.7  0.7   0:20 python
14644 zope2     12   0  8044 8044  1748 S       0 16.1  0.7   0:16 python
24229 hannu      2   0   476  476   328 S       0  3.0  0.0   0:00 zeus_bench
16688 root       4   0  1056 1056   844 R       0  1.3  0.1   0:21 top
14647 zope2      1   0  8044 8044  1748 S       0  0.7  0.7   0:09 python
    1 root       0   0   472  472   408 S       0  0.0  0.0   0:04 init
    2 root       0   0     0    0     0 SW      0  0.0  0.0   0:01
kflushd                                    

BTW, I don't know if the load average of 1.0 means that one or two processors 
are running at full throttle.

Does anyone know if adding two more processors would change these numbers ?

-----------------
Hannu