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

Reply via email to