On Oct 22, 2013, at 10:36 AM, James Peach <[email protected]> wrote:
>
>>
>>
>> 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.
The history on this setting is long and strange. The defaults were set
arbitrarily high to avoid a problem that looked like an out of memory event (on
the cache). Increasing this setting also came together with increasing the
appropriate sysctl:
vm.max_map_count = 2097152
It might be time to revisit this again. I filed a Jira on this a while back:
https://issues.apache.org/jira/browse/TS-1822
As to why this would reduce lock contention, I have no idea. I'm positive it
was added purely to address a false positive "out of memory" problem. Bryan,
can you look this up in Bugzilla? Probably from around 1997 or so, by Vladimir.
>
>> CONFIG proxy.config.allocator.thread_freelist_size INT 524288
This is incredibly high, but probably fine. The default is 512 objects for each
freelist for each thread. We probably should allow for a "-1" to mean unlimited
(which the above basically means).
Cheers,
-- Leif