[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