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

Collapse
Posted by Don Baccus on
Try with MinThreads=MaxThreads in nsd.tcl, set to some reasonable level, and play with the concurrency level in Apache bench.  Also, make sure you haven't enabled ADP parsing for .html files.

If you're using Tcl 8, every thread gets its own interpreter which must be set up when the thread's created.  If MinThreads=MaxThreads the server
will initialize that many threads at startup, then keep them alive forever.

AHA - when each thread's interpreter is set up, among other things it must source your Tcl library, which means all those OpenACS Tcl files in your tcl directory.  They're being compiled and the bytecode cached.

Without OpenACS being involved, there's no library to be sourced.

Sounds faster, doesn't it?

I bet this is a big part of the answer right there.  Set up nsd.tcl as I've suggested above, and start it up.  Then run Apache.  With MinThreads=MaxThreads no threads should be created or destroyed during the benchmarking session.