My goal:
make sure when using kamailio as engine I can achieve: on systems with 4GB memory, Kamailio can serve a population over 300 000 online subscribers <from: https://www.kamailio.org/w/features/%C2%A0%3E
Test bed: CPU: 4 cores , 4G RAM
Kamailio 5 with Mysql.
Test source:another server running SIPp
10k subscriber in Mysql . 6000 Register Per Second , reuse 10k user to register , it works fine. If register 50 every second for per user it seem 300 k subscribers should work. (about 300% cpu used of totally 400% cpu. All requests finished without retransmit and fail. )
add 90k subscriber into Mysql . 100k subscirbers in Mysql . 1000 Register Per Second , a lot of failure and can not work .
(cpu are not used much at that time. IO is not high.)
My question : What is the root cause of bad performance when there is 100k subscribers' data in the Mysql database.
How can I deploy a kamailio with 300k subscriber in database, and support 6000 register per second at the same time ? Maybe use ram database instead of Mysql?
Thanks with regards, David
Hello,
it seems that interaction with mysql is a bottleneck. What is the value of children parameter in kamailio.cfg?
Cheers, Daniel
On 28.09.17 04:00, Jiankai Zhu wrote:
*My goal:*
make sure when using kamailio as engine I can achieve:
- on systems with 4GB memory, Kamailio can serve a population over 300 000 online subscribers
- <from: https://www.kamailio.org/w/features/%C2%A0%3E
*Test bed:* CPU: 4 cores , 4G RAM
Kamailio 5 with Mysql.
Test source:another server running SIPp
10k subscriber in Mysql . 6000 Register Per Second , reuse 10k user to register , it works fine. If register 50 every second for per user it seem 300 k subscribers should work. (about 300% cpu used of totally 400% cpu. All requests finished without retransmit and fail. )
add 90k subscriber into Mysql . 100k subscirbers in Mysql . 1000 Register Per Second , a lot of failure and can not work .
(cpu are not used much at that time. IO is not high.)
*My question : * What is the root cause of bad performance when there is 100k subscribers' data in the Mysql database.
How can I deploy a kamailio with 300k subscriber in database, and support 6000 register per second at the same time ? Maybe use ram database instead of Mysql?
Thanks with regards, David
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hi. In my tests the best perfomance was achieved with combination of mysql and htable as mysql cache ( http://www.kamailio.org/docs/modules/devel/modules/htable.html). With SIPP testing it is important to switch off kamailio logging (set critical level for example) and check network perfomance (sipp and kamailio should be within LAN)
2017-09-28 5:00 GMT+03:00 Jiankai Zhu zhujiankai@icloud.com:
*My goal:*
make sure when using kamailio as engine I can achieve:
- on systems with 4GB memory, Kamailio can serve a population over 300
000 online subscribers
- <from: https://www.kamailio.org/w/features/ >
*Test bed:* CPU: 4 cores , 4G RAM
Kamailio 5 with Mysql.
Test source:another server running SIPp
10k subscriber in Mysql . 6000 Register Per Second , reuse 10k user to register , it works fine. If register 50 every second for per user it seem 300 k subscribers should work. (about 300% cpu used of totally 400% cpu. All requests finished without retransmit and fail. )
add 90k subscriber into Mysql . 100k subscirbers in Mysql . 1000 Register Per Second , a lot of failure and can not work .
(cpu are not used much at that time. IO is not high.)
*My question : * What is the root cause of bad performance when there is 100k subscribers' data in the Mysql database.
How can I deploy a kamailio with 300k subscriber in database, and support 6000 register per second at the same time ? Maybe use ram database instead of Mysql?
Thanks with regards, David
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users