Yeah, I've just been trying to optimize what I have without digging into the codebase too much.
Just FYI, I eventually went with 8MB for proxy.config.system.mmap_max. Anything higher seemed to affect latency(i.e. page load speed). So I'm finally done tuning my child/parent proxy setup. Will move on to testing file sizes soonish. On Tue, Oct 22, 2013 at 10:49 PM, James Peach <[email protected]> wrote: > On Oct 22, 2013, at 1:45 PM, Adam W. Dace <[email protected]> > wrote: > > > Just thought I'd jump in here and report that after seeing his email, > just for fun, I tried increasing proxy.config.system.mmap_max > > from 2MB(default) to 8MB...then 16MB(my disk can read/write about > 50MB/sec so this seems reasonable). > > That's really interesting. You could also test using tcmalloc, which has a > reputation for higher performance than glibc's malloc. > > > > > All of a sudden my Bing Image Searches aren't running into a write lock > contention issue anymore. > > I just may end up keeping this setting. :) > > > > > > > > On Tue, Oct 22, 2013 at 11:36 AM, James Peach <[email protected]> wrote: > > > > On Oct 22, 2013, at 6:17 AM, Pavel Kazlenka < > [email protected]> wrote: > > > > > Thank you all for your replies. I have new questions here. > > > > > > I'm trying to estimate performance of single ATS 'network' (main) > thread (hope I'm using correct term). My thread-related configuration: > > > ONFIG proxy.config.exec_thread.autoconfig INT 0 > > > CONFIG proxy.config.exec_thread.autoconfig.scale FLOAT 1.000000 > > > CONFIG proxy.config.exec_thread.limit INT 1 > > > CONFIG proxy.config.accept_threads INT 1 > > > CONFIG proxy.config.cache.threads_per_disk INT 0 > > > CONFIG proxy.config.ssl.number.threads INT 0 > > > CONFIG proxy.config.task_threads INT 1 > > > #Caching is off: > > > CONFIG proxy.config.http.cache.http INT 0 > > > > > > I've found that memory-related options have a great impact on > performance: > > > > > > CONFIG proxy.config.thread.default.stacksize INT 536870912 > > > > 512MB stack size for thread? Wow, that seems like an awful lot. > > > > > CONFIG proxy.config.allocator.thread_freelist_size INT 524288 > > > CONFIG proxy.config.system.mmap_max INT 5368709120 > > > > This setting ends up calling mallopt(M_MMAP_MAX), see < > http://man7.org/linux/man-pages/man3/mallopt.3.html>. From the > description in the man page, I'd be surprised if setting this was useful in > most cases. > > > > > > > > My problem is that default values for the variables given above are > extremely conservative. On the other hand, it's hard to pick up the good > values for such a great range. Especially while these options are not > really good documented. > > > So my questions are: > > > 1) What should be good values for machine with 6GB RAM for the three > variables above (assuming that the only purpose of machine is running > single thread of ATS to forward traffic with high rate and minimal delay)? > > > 2) Is there any guide/detailed documentation on these options? > > > 3) May be there's some kind of formulas based on common sense that > could help to choose variables values based on proxy load (requests per > second)? > > > > proxy.config.allocator.thread_freelist_size seems like a reasonable > setting to tune. This is going to control how much memory will be > permanently allocated to per-thread magazines. It's a tuning balance > between how much memory you need to allocate to servicing transactions and > how much memory should be used for RAM cache and other processes that are > running on the box. > > > > FWIW I run my systems with > proxy.config.allocator.thread_freelist_size=16K, though my workload and > hardware configuration is pretty different from yours. > > > > > Device under test is Ubuntu 12.04 LTS, 64 bit, 6GB RAM, expected load > is up to 15k requests per second. > > > > > > TIA, > > > Pavel > > > > > > On 10/17/2013 10:07 PM, Igor Galić wrote: > > >> > > >> ----- Original Message ----- > > >>> Thank you Igor. > > >>> > > >>> I've rebuilt ATS with hwloc and things became a bit better. Now I see > > >>> that load is being balanced fairly between configured number of > threads > > >> Thank you very much for this feedback. > > >> I knew that this code paths have an impact (I've hacked bits of it > too) > > >> but since I always compile --with-hwloc, I've never saw the > difference. > > >> > > >> > > >> ++i > > >> > > >> Igor Galić > > >> > > >> Tel: +43 (0) 664 886 22 883 > > >> Mail: [email protected] > > >> URL: http://brainsware.org/ > > >> GPG: 6880 4155 74BD FD7C B515 2EA5 4B1D 9E08 A097 C9AE > > >> > > > > > > > > > > > > > -- > > ____________________________________________________________ > > Adam W. Dace <[email protected]> > > > > Phone: (815) 355-5848 > > Instant Messenger: AIM & Yahoo! IM - colonelforbin74 | ICQ - #39374451 > > Microsoft Messenger - [email protected] > > > > Google Profile: https://plus.google.com/u/0/109309036874332290399/about > > -- ____________________________________________________________ Adam W. Dace <[email protected]> Phone: (815) 355-5848 Instant Messenger: AIM & Yahoo! IM - colonelforbin74 | ICQ - #39374451 Microsoft Messenger - [email protected] <[email protected]> Google Profile: https://plus.google.com/u/0/109309036874332290399/about
