On 09/10/11 13:13, Dmitry Kurochkin wrote:
Hi Henrik.
On Sat, 08 Oct 2011 21:25:53 +0200, Henrik
Nordström<hen...@henriknordstrom.net> wrote:
fre 2011-10-07 klockan 11:50 +0400 skrev Dmitry Kurochkin:
I did not know that -N was used for anything but testing and debugging.
Perhaps we should also use diskers in -N mode?
-N is not only a debugging flag. It's used in production in many setups
where a usable system monitor keeps track of the process. It's "Do not
daemonize", functionality should otherwise be the same.
(Though, neither Mac OS X nor Debian (by default) use upstart. Ubuntu
does.)
And fedora uses systemd.
We should add mayUseUnlinkd() method to DiskIOStrategy. But only UFS
SwapDir would relay answer from it. Other store modules do not need
unlinkd even if the underlying IO strategy may use it. Do you agree?
Or perhaps simply start it on first use, similar to how we runtime add
more helpers of other types when needed?
I do not know about other helpers. But the concern here is to avoid
(potentially) expensive unlinkd startup at runtime.
The other helpers using the helper*() API have min/max/step (aka,
startup=/children=/idle=) values.
It has proven to be a small benefit over bulk startup. Primarily because
it avoids over-allocation of started helpers, but also because it
somewhat spreads the helper startup over time allowing the OS time to
figure out that the fork() is not needing all the virtual memory the
parent process allocated and swap-out.
We still have and occasionally hit the same old OOM ceiling on fork()
with multi-GB RAM caches, but its a noticeably less common complaint now.
Amos
--
Please be using
Current Stable Squid 2.7.STABLE9 or 3.1.15
Beta testers wanted for 3.2.0.12