Hello,

"E stands for Express" - and in our mission to make SEMS not only the ever faster Media- but also Application server, thread pool support was added with r1782/1783, which is particularly useful for boosting performance of signaling-only applications with high number of CPS (e.g. signaling only B2B).

You should NOT use threadpool if your applications use operations which could be blocking for a longer time (e.g. sleep, remote server access which could possibly be non-responsive), because one blocked session (call) is blocking all the other sessions (calls) that are processed by the same thread. So, for example, if the application logic of one call queries a server synchronously which takes a few seconds to respond, all the other calls are blocked from processing SIP messages and application logic during that time.

The reasons a thread pool gives a large performance boost over one-thread-per-call for high CPS applications presumably are that thread creation takes some time, and the thread scheduling is less efficient if there are very many active threads (as opposed to many sleeping threads like in usual media server applications, where the application/signaling threads sleep most of the time, while only the media/RTP processing threads are active).

On top of that, you save lots of memory (mostly the stack memory), also, because of STL memory allocator.

Note that this is NOT related to RTP/media processing, and if you are using normal media server applications like conference/announcements/mailbox etc. you most probably won't note the performance difference much, and in that case I would for safety not recommend using threadpool (e.g. for some reason it could be that a file access blocks for a while, and in that situation the other calls might be processed just fine).

We have tested this optimization in a test setup with ~20k concurrent calls and ~16k TPS, and it gives quite a lot of memory saving and also performace gain (if someone is really interested, I can try to dig out the numbers again).

Regards
Stefan

--
Stefan Sayer
VoIP Services Consulting and Development

Warschauer Str. 24
10243 Berlin

tel:+491621366449
sip:[email protected]
email/xmpp:[email protected]


_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to