[Devel] core timer and TM retransmission timers

Jean-François SMIGIELSKI jf-smig at ibelgique.com
Wed Dec 27 10:49:19 CET 2006


The patch affects a bit the performance.

I tested the new openser with a SIPp that sent message that where statefully forwarded and voluntarily not answered (so, message stay as long as possible in memory). Then I compared the results with those about a regular 1.1.0 openser.

I started 300 new transactions/second (the limit came from the shared memory limited to 128MB, and with the size of the messages I sent it maid quite 20000 transactions in memory). I observed an increase of the CPU of about 25%.
To reduce this overhead, I decided to loose precision by snapping wake up time on a "5ms grid". So, I could wake up less often for more work. It worked and reduced the CPU usage, but not below the threshold of the regular OpenSER.

I made this test on a weak machine, and real benchmarks are surely necessary.

I prepare the patch and I post it as soon as possible.

Thanks!


Klaus Darilion:
> Hi Jean-François!
> 
> Please post your patch on the bug tracker on sourceforge:
> http://sourceforge.net/tracker/?group_id=139143&atid=743022
> 
> thanks for your work.
> 
> Do you know how your patch affects the timer performance of openser?
> 
> regards
> klaus
> 
> 
> 
> > Hello again,
> > 
> > I proposed several weeks ago to change the core timer in OpenSER to get more precision.
> > This work is now done and my openser seems to work fine.
> > It was achieved with precise 'select' sleeps and the expirations are now evaluated on timeval structures.
> > The previous "jiffies" timer now registers on the "select" timer.
> > 
> > I also proposed to use this precise timer to manage the TM retransmission timers.
> > This is also done and seems to work fine. TM now conforms to the RFC3261 (with a different INVITE retransmission management).
> > This was done with a direct registration of TM on the precise timer (no more on the jiffies timer), and with timer lists only for INVITE.
> > 
> > But I had to do it first for openser 1.1.0, and I am preparing a port on the cvs sources. There is no real problem with that, I wrote new files and changed only a few.
> > 
> > I would submit my evolution to your analysis, but I don't know how.
> > Can I post a patch on this list?
> > 
> > JF Smigielski
> > 
> > 
> > ________________________________________________________________________
> > iBELGIQUE, exprimez-vous !
> > http://web.ibelgique.com/
> > 
> > 
> > ------------------------------------------------------------------------
> > 
> > _______________________________________________
> > Devel mailing list
> > Devel at openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/devel
> 
> 
> -- 
> Klaus Darilion
> nic.at
> 
> 


________________________________________________________________________
iBELGIQUE, exprimez-vous !
http://web.ibelgique.com/


More information about the Devel mailing list