HI,
thank you for the attachments.
here's my results on @!# vm
[root@media-03 sipp]# sipp -p 5062 -trace_err -r 1300 -inf users.csv -sf reg.xml -l 5000 -m 120000 -mi x.x.x.x y.y.y.y
Warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE = 1024
Resolving remote host 'y.y.y.y'... Done.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
Call-rate(length) Port Total-time Total-calls Remote-host
1300.0(0 ms)/1.000s 5062 92.35 s 120000 y.y.y.y:5060(UDP)
Call limit reached (-m 120000), 0.000 s period 0 ms scheduler resolution
0 calls (limit 5000) Peak was 291 calls, after 39 s
0 Running, 42916 Paused, 0 Woken up
0 dead call msg (discarded) 0 out-of-call msg (discarded)
1 open sockets
Messages Retrans Timeout Unexpected-Msg
REGISTER ----------> 120000 0 0
401 <---------- 120000 0 0 0
REGISTER ----------> 120000 0 0
200 <---------- 120000 0 0 0
------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
Start Time | 2015-01-30 16:46:38:975 1422636398.975229
Last Reset Time | 2015-01-30 16:48:11:329 1422636491.329421
Current Time | 2015-01-30 16:48:11:329 1422636491.329482
-------------------------+---------------------------+--------------------------
Counter Name | Periodic value | Cumulative value
-------------------------+---------------------------+--------------------------
Elapsed Time | 00:00:00:000 | 00:01:32:354
Call Rate | 0.000 cps | 1299.348 cps
-------------------------+---------------------------+--------------------------
Incoming call created | 0 | 0
OutGoing call created | 0 | 120000
Total Call created | | 120000
Current Call | 0 |
-------------------------+---------------------------+--------------------------
Successful call | 0 | 120000
Failed call | 0 | 0
-------------------------+---------------------------+--------------------------
Call Length | 00:00:00:000 | 00:00:00:036
------------------------------ Test Terminated --------------------------------
i sent 120.000 REG->401->REG cycles along 92 secs
for me, the relevant part is the final cumulative value ( 1299.348 cps ) being very very close of the target i set ( 1300 )
do we conclude that kamailio/kazoo has ~1300 limit call for registrations ? absolutely not.
the main reason is , kazoo is hardly used here.
for those more familiar on how stuff works, if all goes well the first call will cache the creds in kamailio ,
and all subsequent credential calls (kazoo_query) will be handled by kamailio cache, making only a cast to amqp that reaches ecallmgr
what about, if we comment the cache stuff in kamailio script, to do a full test of sending kazoo_query, having registrar handle the registration and responding back in each call?
will the results be the same ? actually, the results i posted were made with commented cache stuff :).
hey, OOB values ? again, absolutely not.
how did i scale ?
tcp childs = 150
amqp_max_channels = 300
amqp_internal_loop_count = amqp_consumer_loop_count = 1
5 consumers on registrar whapp
2 consumers on ecallmgr
my conclusion is something like,
stress tests must have some adherence to reality orelse they serve no purpose.
10.000 registrations can be reached, with proper understanding of how things work, observation of behaviours, tuning server parameters(kazoo, kamailio, rabbitmq, haproxy, bigcouch), after that is just adding instances (even on the same server like the 5 consumers i added to registrar), oh, and don't forget, proper hardware, my @"! runs linux under old version of hyper-v which sucks at network virtualization.
just a comment to your comment