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