[Users] memory issues

Christian Schlatter cs at unc.edu
Thu Mar 15 20:25:16 CET 2007


I'm doing sipp performance measurements with openser 1.2 and I was 
surprised on how much memory the openser processes do allocate when 
confronted with a high call-per-second load.

I observed the following behavior:

One sipp instance creates SIP requests that get routed through openser 
and forwarded to another sipp instance running in UAS mode. The sipp 
scenario looks like

INVITE ---------->
    100 <----------
    180 <----------
    200 <----------
    ACK ---------->
  Pause [    10.0s]
    BYE ---------->
    200 <----------

Nothing special here. The openser instance record routes the SIP 
requests and forwards them in transaction stateful mode (t_relay) to the 
sipp UAS instance. The routing script looks like:

route{
         if (!method=="REGISTER") record_route();
         if (loose_route()) route(1);
         if (uri==myself) rewritehost("xx.xx.xx.xx");
         route(1);
}

route[1] {
         if (!t_relay()) sl_reply_error();
         exit;
}

( xx.xx.xx.xx is the IP of sipp UAS)

Running sipp with a call rate of 500 cps results in 45 MB of memory 
allocation per openser process after a few seconds. What could cause 
this behavior, message queuing maybe? But then again having a message 
queue of 40+ MB seems to be unrealistic.

And the memory consumption goes up the longer the test runs until 
openser dies because of out-of-memory.

I observed the same behavior with openser 1.1 and 1.2. Is this a memory 
leak or did I miss some settings? And what's the best method to debug 
memory issues with openser?


thanks in advance,
Christian














More information about the Users mailing list