Page 1 of 1

Adding a new Telephony server to balance the load on primary

PostPosted: Wed Jun 13, 2018 1:11 am
by arunvsadnikov
Hi Team,

Current Setup.

ViciBox v.7.0.4-170113
Asterisk 11.25.1-vici
Vicidial Version: 2.14b0.5
SVN Version: 2659
DB Schema Version: 1485
32 G RAM, 2 TB HDD, 8 Core Xeon Processor

We started our outbound call center with 10-15 agents and things were going smoothly. Now we are in the process of expanding our team and we got more than 35+ agents dialing now. We do autodial with ration more than 5 with answering machine detection and the server load is going high and asterisk got crashed multiple times. We did tune mysql database and system optimizations but asterisk is still consuming more CPU. I would like to add one more telephony server to the current setup, so the load on asterisk will be balanced between these two. Following is the plan:

1. Agents will be login to dialer01, where we have a common campaign shared with all of them.
2. DB , WEb and 1 asterisk instance will be running on dialer01
3. Need to add dialer02 as another voip server linked with dialer01.

I have gone through a couple of load balancing documentation, I couldn't figure it out. Did anyone got experience in setting up similar setup? Appreciate your help.


Thanks
~Arun

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 1:49 am
by williamconley
I couldn't figure it out. Did anyone got experience in setting up similar setup? Appreciate your help.


You couldn't figure what out exactly?

If you want to add a 2nd server to create a Multi-Server Vicidial Cluster, you merely install with the Standard (NOT express) vicibox installer. Answer the questions during install. A common problem is that the Vicidial Version is incorrect when you finish or that the Asterisk version on the newly installed server is too recent for the old vicidial server.

Solving "wrong version of Vicidial" is easy: SVN can be used to "match" the version of vicidial, then you perform another "perl install.pl" and the new scripts are installed. (Then reboot to load the new versions.)

Asterisk version being too recent has two possible solutions: Upgrade the original server to a later version, so it'll be compatible with the latest Asterisk version installed in a later installer (See the UPGRADE document in /usr/src/astguiclient/trunk/UPGRADE), or you can install the new server from the same Vicibox Major Revision Level as your original to get the same Asterisk version installed. EG: If you originally installed from Vicibox 7.0.?, install the new server from 7.0.4 and you'll get the same version of asterisk.

However: If you perform a full upgrade on the original server before you begin, then you can install with the latest version of Vicibox and perhaps take advantage of any new features in Vicidial. Then you can bypass both those problems because you'll be at the latest version of Vicidial and compatible with the latest version of asterisk so you can use the latest installation .iso installer.

But if you want advice "on point", try to avoid pronouns. Tell us what you've done, and what you want to accomplish. Avoid vagueness and generalities. "Load balancing" for instance, is rather vague. There are many applications running on each server. Balancing the load for which one(s)? (Apache? Asterisk? MySQL?) each has a different explanation/discussion.

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 2:01 am
by arunvsadnikov
williamconley wrote:
But if you want advice "on point", try to avoid pronouns. Tell us what you've done, and what you want to accomplish. Avoid vagueness and generalities. "Load balancing" for instance, is rather vague. There are many applications running on each server. Balancing the load for which one(s)? (Apache? Asterisk? MySQL?) each has a different explanation/discussion.


Thanks for your reply. I have clearly mentioned that I have to add a Telephony server to balance the current load on my asterisk server. I haven't done anything so far, Im still investigating and preparing a plan before implementation. I'm ok to run the new server as the same version of vicibox. Thanks for your advice on normal installation.
I have all my agents on dialer01(existing server), I ll be bringing dialer02(not existing now) to balance the load on asterisk. Mysql DB and Web remain same on the dialer01. What will be following steps to make this dialer01 and 02 as part of the single cluster? Do we need IAX here? Appreciate your help.

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 3:28 am
by williamconley
"balance the load" is a major development. Try installing a second server. Install it with all roles except DB (since you already have one DB and can not have a 2nd DB).

Then you'll have two servers:
Server 1 with DB and everything else
Server 2 - Everything else (not DB)

And you can move agents between them for web and/or dialer functions at will. Flexibility is nice. Register agents to both servers (like, half on each?) to begin with. Work out "load balancing" once you have both servers working and get a bit of an understanding on how two servers work as one.

Full backup of the primary server before you do your install. That way if you don't like how the install went, you can restore the DB on the primary and start again. When you install more servers: The ONLY change on the original server is in the DB. So restoring the DB "uninstalls" the extra server for a quick "do over".

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 2:31 pm
by arunvsadnikov
Thanks, William Appreciate your help. I was under the impression that we can do some kind of load balancing. Btw I will bring up a new server and try it out without DB. Will let you know if I come across any issues. Thanks again!

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 2:47 pm
by williamconley
You can do load balancing. You can also race a car ... but most of us learn to drive first. And if it turns out that "racing" isn't necessary to get you to work, driving is all that's needed, then hitting 220MPH turns out to be an unnecesary skill.

Try adding a second server to your cluster. If you need to "balance", you can work that out later. I suspect you'll learn all you need about balancing after your 2nd server is online and functional. Possibly by accident instead of necessity. Get them to SHARE the load before you try to BALANCE. Sharing is accomplished by putting one or more agents on the new server. Balancing is a technical term relating to how the system would determine which agent is on which server. Balancing Requires Sharing. So get the sharing online before you try to get into the Balance race and you may never bother with Balancing ... or maybe not for a long time.

After all: once you've driven the car to work a few hundred times, it'll probably be easier to understand racing. Especially if you've been on Interstate 4 in Florida. You may find you learned how to race by accident.

Same concept.

Re: Adding a new Telephony server to balance the load on pri

PostPosted: Wed Jun 13, 2018 3:00 pm
by arunvsadnikov
Ah, that's a nice reply. Let me drive and then race. lol :D