>> After rebuilding tcl and naviserver (current) from source, with -ltcmalloc, >> my naviserver is stable. > great. the tip version of naviserver have already some modifications > to help against concurrency bugs in tcl (e.g. reducing the frequency of interp > create operations, serializing these etc.).
With Gustaf's patch in place, I was able to test tcmalloc vs jemalloc vs zippy in naviserver. Both tclmalloc and jemalloc gave me a 20% speed up on a simple [clock seconds] adp page. Both gave me about a 40% speedup on a much more complicated, unoptimized Tcl index.adp page. Once I received an openssl() assertion failure on startup with jemalloc and "minthreads 100" but was not able to recreate it. tcmalloc under 20 threads worked well, but performance was *terrible* at "minthreads 100", (about a 90% slowdown, even with apachebench -c 10). Neither zippy nor jemalloc had this problem. There's something about having many naivserver threads launched that makes tcmalloc not work well. Conclusion: For now, I'm using jemalloc, though the openssl assertion failure I had makes me nervous. tcmalloc's terrible performance with 100 threads makes me not want to use it. At the same time, I don't want to stick with zippy, as I've experienced the "bloat" problem that Gustaf talks about, solving it at BookMooch.com with 64GB of RAM (!) but that's not a very good solution, so it's worth my while to try other mallocs. -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