[Serusers] Rule of thumb for shared memory size?
Andrei Pelinescu-Onciul
pelinescu-onciul at fokus.fraunhofer.de
Wed Feb 25 20:33:42 CET 2004
On Feb 25, 2004 at 19:24, Arnd Vehling <av at nethead.de> wrote:
> Hi,
>
> is there any way to approximately calculate a safe shared
> memory size for SER based on total subscribers and concurrent
> calls maybe? Is there a different sharedmem requirement depending
> on the modules one uses?
Yes, shared memory usage depends on the modules used, but the biggest
consumer under stress is tm, the others are just noise :-)
tm uses about 5k per transaction, so at any given moment it will use
5k*no_trans_in_mem. So it depends on how much a transaction lives in
mem. and how many transaction per second ser can process on the
respective machine.
E.g.: - the optimistic scenario in which all transactions complete
immediately => they will still live in memory for WT_TIME_OUT=5s.
For a host capable of 5000cps (there are 2 transaction per call)
=> 5000*2*5k*5 => 250Mb. In practice it uses ~ 300Mb.
- in the worst possible case you have someone flooding you with
invites which are never replied by the other side (sip DOS).
The same 5000cps machine should be able to process ~ 10000
invites/s => 10000*5k*FR_INV_TIMEOUT (FR_INV_TIMEOUT is by
default 120s) => 6GB!.
This is a little bit extreme, if you have a normal machine you should
expect <2000cps, so memory won't be such a big problem.
(for reference: a dual athlon mp2000+ running a speed-optimized ser does
about 4800-4900cps).
Andrei
More information about the sr-users
mailing list