The "best" number of threads depends on many things, including the
hardware (e.g. number of cores). For most cases, i recommend not more
than than 4 threads/core. With high number of threads a low numbers of
cores, context switching might degrade performance.
concerning 100 threads vs. tcmalloc: you might try to increase
|TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES| (defaults to 16MB). For more
details, see:
http://gperftools.googlecode.com/svn/trunk/doc/tcmalloc.html
concerning waiting time in threads: a good number of threads can be
determined via observing the queuing time and the number of queue
requests recorded by naviserver (See in nsstats (from bitbucket) the
"process" page). The best number of theads is the lowest number where
the number of queued requests is low (e.g. less than 0.1%) or the
queuing time is acceptable (e.g. less than 0.1 ms). The numbers
certainly depend on the application, but when one has essentially no
queued requests with 30 connection threads, then there is no benefit in
increasing the number of connection threads.
-gustaf
Am 06.01.14 14:36, schrieb John Buckman:
On Jan 5, 2014, at 2:27 PM, Wolfgang Winkler
<wolfgang.wink...@digital-concepts.com
<mailto:wolfgang.wink...@digital-concepts.com>> wrote:
I was wondering, why you'll want to have 100 threads, because the
number seems a little high to me. So I've just conducted some test on
two of our development system.
You're right, 100 is high, but I do use SQL quite a lot, and so long
running threads, where the cpu is blocking, waiting for a SQL server
response, can generate a lot of pending threads.
I wanted enough threads to be around to handle short running page
requests too.
But besides that, it's very odd that tcmalloc had this huge decrease
in performance at 100 threads. It's perhaps not enough of a reason to
avoid tcmalloc, but it's a cause to worry, nonetheless.
Gustaf's tests didn't show that same slowdown result, and the big
slowdown I have at 100 threads only happens with tcmalloc, not with
jemalloc or zippy, with a simple [clock seconds] ADP page.
-john
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT
organizations don't have a clear picture of how application performance
affects their revenue. With AppDynamics, you get 100% visibility into your
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
naviserver-devel mailing list
naviserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/naviserver-devel