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











_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to