Page 1 of 1

Custom Cluster, seems should handle more than 100 agents

PostPosted: Wed Feb 12, 2014 9:50 pm
by udfxrookie
I'm working on a cluster built on Vici 5.0.3, updated today (2/12/2014) to the newest SVN (2069) build 2.8b0.5, Asterisk 1.8.25.0-vici, NO timing devices
First I will show you the hardware, then we'll go into the setup:

Code: Select all
Server   /   System   /   CPU   /   Clock Speed   /   Cores   /   RAM   /   Modules   /   Speed   /   Type   /   Drive   /   Size
archive   /   GA-78LMT-USB3   /   AMD Athlon II X4 640   /   800/800/3000/800   /   4   /   8GB   /   3   /   1066   /   DDR3   /   WDC_WD20EFRX   /   4TB
web server   /   ProLiant DL360 G5   /   Intel(R) Xeon(R) CPU E5345 @ 2.33GHz   /   2333.406 MHz   /   8   /   10GB   /   8   /   533/667   /   DDR2   /       /   
web server   /   PowerEdge 1950   /   Intel(R) Xeon(R) CPU X5355 @ 2.66GHz   /   2000.00 MHz   /   8   /   8GB   /   4   /   667   /   DDR2   /       /   
web server   /   H61M-DS2   /   Intel(R) Celeron(R) CPU G540 @ 2.50GHz   /   1600.00 MHz   /   2   /   8GB   /   1   /   1066   /   DDR3   /   ST31000524AS   /   1TB
database   /   ProLiant DL380 G5   /   2 x Intel(R) Xeon(R) CPU L5420 @ 2.50GHz   /   2499.915 MHz   /   8   /   16GB   /   8   /   667   /   DDR2   /       /   
dialer1   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.60GHz   /   2800.00 MHz   /   4   /   6GB   /   6   /   400   /   DDR   /       /   
dialer2   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.40GHz   /   2800.00 MHz   /   2   /   12GB   /   6   /   400   /   DDR   /       /   
dialer3   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.60GHz   /   2800.00 MHz   /   4   /   6GB   /   6   /   400   /   DDR   /       /   
dialer4   /   DH67BL   /   Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz   /   1600.00 MHz   /   8   /   32GB   /   4   /   1333   /   DDR3   /   ST31000528AS   /   1TB
dialer5   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.60GHz   /   2800.00 MHz   /   4   /   6GB   /   6   /   400   /   DDR   /       /   
dialer6   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.60GHz   /   2800.00 MHz   /   4   /   8GB   /   4   /   400   /   DDR   /       /   
dialer7   /   ProLiant DL380 G4   /   2 x Intel(R) Xeon(TM) CPU 3.40GHz   /   2800.00 MHz   /   4   /   6GB   /   6   /   400   /   DDR   /       /   
dialer8   /   K9N6PGM2-V2 (MS-7309)   /   AMD Phenom(tm) 9600B Quad-Core Processor   /   1150.00 MHz   /   4   /   4GB   /   2   /   800   /   DDR2   /   ST3160815AS   /   160GB
dialer9   /   P8H61-M LE/CSM   /   Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz   /   1600.00 MHz   /   4   /   4GB   /   1   /   1067   /   DDR3   /   WDC_WD5000AAKS   /   500GB
dialer11   /   B75MA-P45 (MS-7798)   /   Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz   /   1600.00 MHz   /   8   /   5GB   /   3   /   1333   /   DDR3   /   ST3160815SV   /   160GB
dialer12   /   785GM-P45 (MS-7623)   /   Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz   /   800.00 MHz   /   4   /   4GB   /   2   /   1600   /   DDR3   /   ST3500630AS   /   500GB
dialer13   /   P7H55-M PRO   /   Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz   /   3210.223 MHz   /   4   /   6GB   /   3   /   1066   /   DDR   /   WDC_WD5000AAKS   /   500GB
dialer14   /   880GM-E41 (MS-7623)   /   Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz   /   800.00 MHz   /   4   /   7GB   /   3   /   1333   /   DDR3   /   Maxtor_6V200E0   /   203.9GB
dialer15   /   P8H61-M LE/CSM R2.0   /   Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz   /   1600.00 MHz   /   4   /   4GB   /   1   /   1600   /   DDR3   /   WDC_WD1600AAJS   /   160GB
dialer16   /   H61M-A/USB3   /   Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz   /   1600.00 MHz   /   4   /   4GB   /   1   /   1600   /   DDR3   /   ST31000528AS   /   1TB
dialer17   /   K9N6PGM2-V2 (MS-7309)   /   AMD Phenom(tm) 9600B Quad-Core Processor   /   300.00 MHz   /   4   /   4GB   /   2   /   800   /   DDR2   /   ST3500320NS   /   500GB
dialer18   /   DH55HC   /   Intel Core i5 CPU 650   /   1197.00 MHz   /   2   /   4GB   /   2   /   1066   /   DDR3   /   ST3250820AS   /   160GB


And here's the setup on each:
Code: Select all
server_id   asterisk   agents   live_agents   cps   trunks   bal   bal_rank   reserve_t   live_auto_calls   channels   top_load   cpu_pcnt
vici01-d01   Y   Y   0   1   0   N   0   0   0   0   0   1
vici01-d02   Y   Y   0   1   0   N   0   0   0   0   0.01   2
vici01-d03   Y   Y   0   2   10   N   0   0   0   0   0.04   1
vici01-d04   Y   Y   0   3   125   Y   9   0   0   0   0.02   0
vici01-d05   Y   Y   0   3   30   Y   0   0   0   0   0.03   1
vici01-d06   Y   Y   0   1   0   N   0   0   0   0   0   1
vici01-d07   Y   Y   0   3   20   Y   0   0   0   0   0.05   1
vici01-d08   Y   Y   0   1   20   N   0   0   0   0   0   1
vici01-d09   Y   Y   0   3   100   Y   3   0   0   0   0.04   0
vici01-d11   Y   Y   0   3   125   Y   7   0   0   0   0.02   0
vici01-d12   Y   Y   0   2   50   Y   5   0   0   0   0.24   1
vici01-d13   Y   Y   0   3   100   Y   6   0   0   0   0.43   1
vici01-d14   Y   Y   0   3   30   Y   1   0   0   0   0.04   1
vici01-d15   Y   Y   0   3   100   Y   8   0   0   3   0.04   0
vici01-d16   Y   Y   0   3   100   Y   9   0   0   2   0.03   0
vici01-d17   Y   Y   0   2   40   N   0   0   0   0   0.03   1
vici01-d18   Y   Y   0   1   20   N   0   0   0   2   0.11   1
vici01-db   N   N   0   1   0   N   0   0   0   0   0   1


I will pull this a few times tomorrow while we are dialing to show the CPU%, Calls, etc

All calls are recorded, AMD is on in the 6 campaigns we dial in, dial on Ratio in every campaign, and usually auto dial level of 30.

With the above hardware how many users "Should" we be able to hold?
Currently when we start to break 100 agents we start crossing lines, getting random SQL errors, a lot related to certain servers overloading.

What would be the best way to set this up to maximize agents and allow dialing the way we've been?

Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 9:18 am
by udfxrookie
This morning starting with 40 agents:

Code: Select all
server_id   -   asterisk   -   agents   -   live_agents   -   cps   -   trunks   -   bal   -   bal_rank   -   reserve_t   -   live_auto_calls   -   channels   -   top_load   -   cpu_pcnt   -   rebuild
vici01-d01   -   Y   -   Y   -   5   -   1   -   0   -   N   -   0   -   0   -   0   -   14   -   0.19   -   7   -   N
vici01-d02   -   Y   -   Y   -   4   -   1   -   0   -   N   -   0   -   0   -   2   -   14   -   0.06   -   4   -   N
vici01-d03   -   Y   -   Y   -   0   -   2   -   10   -   N   -   0   -   0   -   0   -   0   -   0.14   -   1   -   N
vici01-d04   -   Y   -   Y   -   3   -   3   -   125   -   Y   -   9   -   0   -   124   -   116   -   2.06   -   7   -   N
vici01-d05   -   Y   -   Y   -   0   -   3   -   30   -   Y   -   0   -   0   -   0   -   0   -   0   -   1   -   N
vici01-d06   -   Y   -   Y   -   12   -   1   -   0   -   N   -   0   -   0   -   0   -   34   -   0.55   -   7   -   N
vici01-d07   -   Y   -   Y   -   0   -   3   -   20   -   Y   -   0   -   0   -   0   -   0   -   0.01   -   1   -   N
vici01-d08   -   Y   -   Y   -   9   -   1   -   20   -   N   -   0   -   0   -   20   -   44   -   0.32   -   7   -   N
vici01-d09   -   Y   -   Y   -   7   -   3   -   100   -   Y   -   3   -   0   -   81   -   139   -   0.94   -   8   -   N
vici01-d11   -   Y   -   Y   -   0   -   3   -   125   -   Y   -   7   -   0   -   10   -   0   -   0   -   0   -   N
vici01-d12   -   Y   -   Y   -   0   -   2   -   50   -   Y   -   5   -   0   -   0   -   0   -   0.24   -   1   -   N
vici01-d13   -   Y   -   Y   -   0   -   3   -   100   -   Y   -   6   -   0   -   0   -   0   -   0   -   0   -   N
vici01-d14   -   Y   -   Y   -   0   -   3   -   30   -   Y   -   1   -   0   -   0   -   0   -   0   -   1   -   N
vici01-d15   -   Y   -   Y   -   0   -   3   -   100   -   Y   -   8   -   0   -   77   -   26   -   1.57   -   6   -   N
vici01-d16   -   Y   -   Y   -   0   -   3   -   100   -   Y   -   9   -   0   -   76   -   68   -   0.66   -   7   -   N
vici01-d17   -   Y   -   Y   -   0   -   2   -   40   -   N   -   0   -   0   -   0   -   0   -   0.01   -   1   -   N
vici01-d18   -   Y   -   Y   -   0   -   1   -   20   -   N   -   0   -   0   -   0   -   0   -   0.01   -   1   -   N
vici01-db   -   N   -   N   -   0   -   1   -   0   -   N   -   0   -   0   -   0   -   0   -   0   -   1   -   Y
                        40                                               390                               


Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 9:58 am
by udfxrookie
At 59 agents:
Code: Select all
server_id   -   live_agents   -   cps   -   trunks   -   bal   bal_rank   -   live_auto_calls   -   channels   -   top_load   -   cpu_pcnt
vici01-d01   -   6   -   1   -   0   -   N   0   -   0   -   11   -   0.18   -   6
vici01-d02   -   4   -   1   -   0   -   N   0   -   3   -   19   -   0.24   -   10
vici01-d03   -   0   -   2   -   10   -   N   0   -   0   -   0   -   0.01   -   1
vici01-d04   -   3   -   3   -   125   -   Y   9   -   124   -   79   -   1.78   -   5
vici01-d05   -   0   -   3   -   30   -   Y   0   -   0   -   0   -   0.05   -   1
vici01-d06   -   15   -   1   -   0   -   N   0   -   0   -   57   -   0.5   -   17
vici01-d07   -   0   -   3   -   20   -   Y   0   -   0   -   0   -   0.19   -   1
vici01-d08   -   10   -   1   -   20   -   N   0   -   20   -   48   -   0.4   -   7
vici01-d09   -   6   -   3   -   100   -   Y   3   -   93   -   172   -   0.72   -   6
vici01-d11   -   0   -   3   -   125   -   Y   7   -   65   -   226   -   1.1   -   4
vici01-d12   -   5   -   2   -   50   -   Y   5   -   35   -   77   -   0.68   -   8
vici01-d13   -   0   -   3   -   100   -   Y   6   -   63   -   136   -   0.62   -   6
vici01-d14   -   2   -   3   -   30   -   Y   1   -   27   -   63   -   0.64   -   6
vici01-d15   -   1   -   3   -   100   -   Y   8   -   55   -   28   -   1.48   -   7
vici01-d16   -   0   -   3   -   100   -   Y   9   -   93   -   92   -   1.49   -   8
vici01-d17   -   4   -   2   -   40   -   N   0   -   27   -   23   -   0.7   -   9
vici01-d18   -   0   -   1   -   20   -   N   0   -   0   -   0   -   0.05   -   1
vici01-db   -   0   -   1   -   0   -   N   0   -   0   -   0   -   0   -   1
vici01-w1   -   0   -   1   -   0   -   N   0   -   0   -   0   -   0   -   100
        56                                   605                       


Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 11:03 am
by udfxrookie
71 Users:

Code: Select all
server_id   *   wan_ip   *   live_agents   *   cps   *   trunks   *   bal   *   live_auto_calls   *   channels   *   top_load   *   cpu_pcnt   *   rebuild
vici01-d01   *   72.91.83.9   *   5   *   1   *   0   *   N   *   0   *   13   *   0.65   *   7   *   N
vici01-d02   *   72.91.83.10   *   5   *   1   *   0   *   N   *   3   *   13   *   0.41   *   14   *   N
vici01-d03   *   72.91.83.11   *   3   *   2   *   10   *   N   *   10   *   24   *   0.17   *   5   *   N
vici01-d04   *   72.91.83.12   *   9   *   3   *   125   *   Y   *   120   *   185   *   2.1   *   6   *   N
vici01-d05   *   72.91.83.13   *   0   *   3   *   30   *   Y   *   27   *   23   *   0.33   *   5   *   N
vici01-d06   *   72.91.83.14   *   12   *   1   *   0   *   N   *   0   *   41   *   0.33   *   14   *   N
vici01-d07   *   72.91.83.15   *   3   *   3   *   20   *   Y   *   19   *   24   *   0.34   *   7   *   N
vici01-d08   *   72.91.83.16   *   3   *   1   *   20   *   N   *   16   *   50   *   0.4   *   6   *   N
vici01-d09   *   72.91.83.17   *   0   *   3   *   100   *   Y   *   96   *   71   *   1.02   *   9   *   N
vici01-d11   *   72.91.83.19   *   1   *   3   *   125   *   Y   *   99   *   183   *   1.18   *   4   *   N
vici01-d12   *   72.91.83.20   *   5   *   2   *   50   *   Y   *   44   *   118   *   0.76   *   12   *   N
vici01-d13   *   72.91.83.21   *   0   *   3   *   100   *   Y   *   90   *   71   *   1.41   *   8   *   N
vici01-d14   *   72.91.83.22   *   2   *   3   *   30   *   Y   *   30   *   56   *   0.66   *   9   *   N
vici01-d15   *   72.91.83.23   *   5   *   3   *   100   *   Y   *   92   *   171   *   1.72   *   9   *   N
vici01-d16   *   72.91.83.24   *   8   *   3   *   100   *   Y   *   99   *   162   *   1.42   *   10   *   N
vici01-d17   *   72.91.83.25   *   7   *   2   *   40   *   N   *   40   *   76   *   0.9   *   12   *   N
vici01-d18   *   72.91.83.26   *   3   *   1   *   20   *   N   *   18   *   50   *   0.35   *   8   *   N
vici01-db   *   72.91.83.7   *   0   *   1   *   0   *   N   *   0   *   0   *   0   *   1   *   Y
            71                        803                        

Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 3:15 pm
by udfxrookie
At 77:

Code: Select all
server_id   *   live_agents   *   cps   *****   trunks   *****   bal   *****   live_auto_calls   *****   channels   *****   top_load   *****   cpu_pcnt
vici01-d01   *   5   *   1   *****   50   *****   Y   *****   40   *****   38   *****   0.47   *****   16
vici01-d02   *   5   *   1   *****   0   *****   N   *****   9   *****   12   *****   0.13   *****   6
vici01-d03   *   8   *   1   *****   50   *****   Y   *****   46   *****   91   *****   1.06   *****   17
vici01-d04   *   9   *   3   *****   125   *****   Y   *****   82   *****   136   *****   1.99   *****   5
vici01-d05   *   0   *   1   *****   50   *****   Y   *****   46   *****   107   *****   0.95   *****   13
vici01-d06   *   9   *   1   *****   20   *****   N   *****   19   *****   65   *****   1.94   *****   12
vici01-d07   *   3   *   1   *****   50   *****   Y   *****   40   *****   57   *****   0.47   *****   10
vici01-d08   *   9   *   1   *****   50   *****   Y   *****   46   *****   109   *****   0.81   *****   11
vici01-d09   *   3   *   3   *****   125   *****   Y   *****   139   *****   115   *****   1.87   *****   11
vici01-d11   *   10   *   3   *****   125   *****   Y   *****   94   *****   209   *****   1.22   *****   5
vici01-d12   *   1   *   3   *****   50   *****   Y   *****   47   *****   20   *****   0.2   *****   6
vici01-d13   *   0   *   3   *****   125   *****   Y   *****   98   *****   277   *****   0.84   *****   5
vici01-d14   *   3   *   1   *****   50   *****   Y   *****   44   *****   82   *****   0.94   *****   9
vici01-d15   *   9   *   3   *****   125   *****   Y   *****   70   *****   244   *****   2.99   *****   15
vici01-d16   *   1   *   3   *****   125   *****   Y   *****   103   *****   167   *****   1.39   *****   10
vici01-d17   *   1   *   1   *****   50   *****   Y   *****   0   *****   6   *****   0.18   *****   2
vici01-d18   *   1   *   1   *****   20   *****   N   *****   20   *****   38   *****   0.21   *****   6
vici01-db   *   0   *   1   *****   0   *****   N   *****   0   *****   0   *****   0   *****   1
      77                        943                  

Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 7:49 pm
by amjohnson
From my experience running Vicidial for about 2 1/2 years now stopping points in my cluster for capacity has been database speed and total trunks in use per server.

Make sure that your total asterisk trunks are under 200 on all servers... Asterisk seems to get grumpy over 200. During the call process asterisk is firing scripts off in the background.. if asterisk gets to busy sometimes they fire late. You get fun things like 3 way calls and leads that the status gets put to NA well after the call has ended (even a sale). Trunks are visible on the reports screen. http://<your server address>/vicidial/admin.php?ADD=999999 .. You can also pull it from the Linux shell by typing

Code: Select all
asterisk -rx 'core show channels'


I also switched all my servers back to asterisk v1.4 as v1.8 does not (at the moment) seem to like as many outbound calls as v1.8.

More important than anything else is the speed of your database.... I run up to about 180 outbound agents and had to switch from Seagate Cheatahs to Enterprise SSD's at 60-70 agents.. Dont even THINK about consumer grade SSD's (laptop/desktop models) they wont last very long on a busy db. You must use enterprise grade drives. Also raid 10 on a LSI Megaraid is a must.

I am currently running 16 Enterprise Class SSD's in raid 10 on a LSI MegaRaid 9280 16i4e with 140-180 agents at dialing ratio of up to 10:1. There is also the ACARD Ram Disk if you want even more speed.

Re: Custom Cluster, seems should handle more than 100 agents

PostPosted: Thu Feb 13, 2014 7:55 pm
by amjohnson
Also my server runs about 25k-30k queries per second with very few long queries... However I find if my database gets over about 6 million numbers in it more problems and more long queries as the database grows.