Forum OpenACS Q&A: Response to AOLserver & OpenACS Benchmarks

Posted by Patrick Giagnocavo on
You are running at a concurrency level of 50; that is, 50 client connections are being simulated (simultaneous connections).  Further, you have not turned on keepalive with the -k option, so keepalives are not being used.

What is probably happening is that performance sucks because there is the overhead of running all the startup tcl whenver a new thread is initialized.  Since you are initializing 50 threads, there is a noticeable delay in starting up all those interpreters - most likely your nsd.tcl file does not have MaxThreads=50 or anything like that.

Alternatively, what is happening is that you are limited in the number of threads the server is running; in this case, there are say 20 threads that are handling multiple high-speed connections.

I would say that having 50 simultaneous connections all of which do not use keepalive is probably not very real world.  Further, you are only running 700 connections total - so the thread startup stuff is skewing the results.  You can check this by running with -n 7000 and seeing what happens - the avg number in the summary should drop.

That being said, I have seen similar numbers during my testing.  My guess is that the filters that determine whether you are able to access the page slows things down.  Yet it does not seem sluggish when my clients hit the pages, even over high speed DSL or cable modems.

As a side issue, it would be interesting to see how much load the 50 simultaneous Apache's are placing on your system.  The best tool to view this is usually "vmstat 5" - look for the context switch and CPU idle numbers.