[asterisk-users] twenty thousands (20, 000) users, which asterisk and how many servers

Stefan Schmidt sst at sil.at
Fri May 25 01:45:30 CDT 2012


Am 24.05.12 23:46, schrieb bilal ghayyad:
> Thanks for all for the help and kindly reply.
> 
> One last point that will help me alot:
> 
> I am thinking to have 4 Servers running Asterisk and 2 Servers to be for database. The load to be distributed on the 4 Asterisk Servers with ability to be redundant (using any redundancy technique). The 4 Asterisk Servers to take the configuration from the Database Server and actually because there is 2 Database servers, then it will be redundant to each other (in case one database failed, the other will take over).
> 
> My question is:
> 
> Is it really possible to have the asterisk configuration in the database server instead of having it in conf files? HOW? I am asking this because what I noticed in AsteriskNow and in A2Billing and Vicidial or Goautodial that whatever I do configuration in the GUI, then the configuration will be generated in the conf files, so Asterisk will read from the conf files and not from the database directly. Is it right or I am confused and there is something else?
> 
> If there is a method to let the configuration to be taken from the database (and not from the configuration), then HOW? Because even in AsteriskNow, the configuration will be generated in a conf files. 
> 
> Special thanks for the advise.
> 
> Regards
> Bilal

Hi Bilal,

Without talking about the Gui, i dont think you will be happy using
realtime for this kind of load you were talking about. Asterisk using
realtime is much slower than using config files, cause there is a big
difference if you ask a database for any kind of data or if you allready
have it in memory loaded from a config file.

When you want to serve 20k peers with 2000 concurrent calls, even spread
over 4 servers you still need all users accessable from every asterisk
server, which means to find one peer you allways have to check all entries.

i have on my systems around 4000 peers spread about three servers with a
sip proxy in front but i still use generated config files cause realtime
cant take the load. BTW i have also a mysql cluster setup with two
master and two slave servers and the load is spread about them.

maybe you should think about doing a split load balancing like server 1
and server 2 can do failover and load balancing but only for the half of
your peers and the same for server 3 and server 4.

another big point when it comes to realtime with this amount of peers is
that asterisk will update the contact data with every register it
receives into the database. 20k peers means atleast 6 registrations
every second and one register normally means 3 or 4 database request
(finding the peer to see if there is a secret set, if yes send a 401
back and when the reregister comes also checks the pass for this peer.
if every thing is correct then update the contact data).

its not so easy at all to build a system for such a big bunch of peers
and calls.

best regards

stefan



More information about the asterisk-users mailing list