Am 11.10.12 19:42, schrieb Jeff Rogers:
> I'll clean up my testcases and add them.
great!

i looked a little into the request burst problem and got some better
understanding. The problem actually happens when the server runs
out of threads and more than maxconn requests arrive constantly
in the timespan of a thread creation.

i think, i am responsible for this problem: as we are using OpenACS,
we have quite large connections threads which take a while to create.
It happened with aolserver very often, that under short bursts (e.g.
a page with several images) maxthreads conn threads were created,
although these were not needed. This caused a large memory footprint.
Furthermore, we saw crashes under parallel thread-creates.
So, what we did was to serialize the thread creation, and the
bursty requests were queued. This served us well over the last
two years with busy real-world traffic. However, under
benchmark-situations, the server can be flooded so fast, that the
queuing during the serialized thread creation causes the problem.

So, the behavior should be at least parameterized, and tailorable.
i have added a proposal to hg, which is just a few lines of code,
that allows parallel thread creation above a certain threshold.
the threshold should become a parameter. If the threshold
is set large enough, the thread serialization happens, if it is
small, parallel thread creates are allowed. Ideas for a
good name of the parameter are very welcome.

Please test, if this helps as well for your test cases...

-gustaf neumann


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel

Reply via email to