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