[Server-devel] ejabberd - limiting mem footprint notes

Martin Langhoff martin.langhoff at gmail.com
Wed Nov 5 13:09:45 EST 2008


This is part of our post-0.5 quest to make sure all compoenents
degrade nicely in large scale setups. One of the key strategies is to
cap the number of clients we serve if that helps control memory
footprint.

That is because network service workloads (and all the XS tasks are
network services) are sensitive to timing (not rt, but dominated by
short-timeouts and impatient users). So as soon as the working set
exceeds available RAM, and things get pushed to swap, we're
effectively DoS'ed. So refusing to serve users exceeding a quota we
know we can deal with leads to sustained service to most users, rather
than no service for anyone.

Right now, when apache and pg start up, we measure physical RAM and
decide some parameters that cntrol how much (and how) those daemons
use memory. A key control there is # of connections.

We need to do the same with ejabberd.

cheers,



m
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list