Page 1 of 1

Clustering

PostPosted: Wed May 05, 2021 11:03 am
by Zaraab
Can somebody please explain or enlighten me about the purpose of clustering? Say as I have 3 servers web/db/Asterisk.

Each of 2 core cpu, 2gb ram and 1tb harddisk. So what if i just use a octa core processor or core i7 and 8gb ram and 2tb haddisk instead of separate servers?

Your reply might be that clustering will balance the load. But i would like to hear more.

Re: Clustering

PostPosted: Wed May 05, 2021 1:11 pm
by dhijrwn
Zaraab wrote:Can somebody please explain or enlighten me about the purpose of clustering? Say as I have 3 servers web/db/Asterisk.

Each of 2 core cpu, 2gb ram and 1tb harddisk. So what if i just use a octa core processor or core i7 and 8gb ram and 2tb haddisk instead of separate servers?

Your reply might be that clustering will balance the load. But i would like to hear more.

The primary reason to do load balancing, or clustering of multiple VICIDIAL servers, is to spread the calls taken in or the answered calls on an outbound campaign across all of the agents that are logged into a campaign no matter what server they are on. For instance, on an outbound campaign, you have 2 servers, server one has 20 agents logged in on a campaign and the other server(two) has 5 agents logged in on the same campaign. Lets say that the campaign is set to a dial_level of 3.0 so there are 60 active calls being placed on server one and 15 active calls being placed on server two. Then 23 of the calls on server one answer, meaning that there are three calls too many for the agents available on that server. Under a load-balancing-overflow setup, those three calls can travel over an IAX2 trunk directly to the agents on that server that are still available. This increased efficiency in both inbound and outbound environments as well as reducing on-hold times for customers and equalizing wait times for agents across all servers for a campaign.

Another reason for load balancing is the ability to use cheaper hardware on the server side. It is much cheaper and more fault-tolerant to buy four P4 2.0GHz 1U servers for $800 a piece than it is to buy a single 4U quad Xeon 3.2GHz server. The four 1U servers will have more total capacity, can be easily scaled and if one fails you've only lost 25% of capacity instead of everything. This philosophy has serverd our call center very well over the last two years.

Check the official docs here http://vicidial.org/docs/LOAD_BALANCING.txt

Re: Clustering

PostPosted: Wed May 05, 2021 10:42 pm
by Zaraab
Amazing explanation. Thank you so much dhijrwn!

I was thinking of that if the clustering could act like back up for pc outage or server crash. So maybe if there was something like that and we had 2 servers. then if 1 of them would have died, the other standby on could take over and get go.