In my attempts to investigate and work on issue #7490, I decided to do some load testing yesterday. The preliminary results of that testing can be found on the wiki at http://trac.edgewall.org/wiki/Performance. Everything except the "Testing Methodology" section is accurate (I decided to change the methodology somewhat). The current results are only for Trac-0.11-stable and I am also planning to test Trac-0.10-stable and the current trunk as I really want to see how much of a (real) difference there is between 0.11 and 0.10.
One item that surprised me was that when running the "tracd" server as opposed to the mod_python, it appears that "tracd" is only single threaded. That is, on my dual core test machine, it only appeared to use about 50% or only 1/2 of both cores, as it did seem that Linux was able to bounce the workload between the processors, but never able to fully utilize both cores. Is this expected behavior? The actual throughput results also bore this out in that mod_python was able to achieve just over 80% more throughput (able to leverage both cores, which from experience doesn't mean 100%) than tracd, obviously at a greater memory cost (more processes/threads = greater memory consumption and more process swapping for the kernel scheduler). Just wanted to be sure that I hadn't done something "hinky" to tracd that would skew the results. Otherwise, if you get a chance, and have an interest, let me know what you think about these results. As indicated in my email on the user thread, I will also replicate this testing on a server using Windows to see if that makes a difference. All of this was in an attempt to replicate the issue described in ticket #7490 and as yet, I haven't been able to do so. As a matter of fact, both tracd and trac with mod_python worked flawlessly (I was really impressed) as I really ended up pushing them pretty hard. FYI, my final test for mod_python (where I finally started to get some http errors returned) required me to simulate 160 users with "0" think time. That is, the test harness was simultaneously sending request for the three test pages from 160 different threads (equates to about 480 simultaneous requests), which did start to return a significant number of http errors, but no 500 errors and no errors in the trac log (I had expected some kind of application error, but surprisingly no)! The prior test with 80 simulated users (240 simultaneous requests) returned absolutely 0 (none, zip, nada) http or application errors; however, as you would expect the response times had climbed significantly, but the Trac/Apache were still able to service 100% of the requests, which is again impressive! BTW, these loads were sustained over a 10 minute period! Lance --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Trac Development" group. To post to this group, send email to trac-dev@googlegroups.com To unsubscribe from this group, send email to trac-dev+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en -~----------~----~----~----~------~----~------~--~---