Revision as of 01:34, December 5, 2014 by Sschlich (talk | contribs)
Jump to: navigation, search

GIR-GVP Port Capacity Tests 2014

Genesys conducted performance tests of various Genesys Interactive Recording (GIR) and GVP Capacities. This section contains test profiles, test results, and analysis.

GVP-GIR 2014 Port Capacity Test Profiles

Software (Profiles Used in 2014 GIR-GVP Port Capacity Tests

Note: Unless explicitly noted, all MP3 recordings use stereo channels.
Software Profile 1

call recording only, MP3 codec (32kbps bit rate) without encryption

Software Profile 1a

call recording only, MP3 codec (16kbps bit rate) without encryption

Software Profile 1b'

call recording only, MP3 codec (8kbps bit rate Mono) without encryption

  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = NOT SET
  • type2 = NOT SET
  • encryption = disabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = NOT SET
  • type2 = NOT SET
  • encryption = disabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = NOT SET
  • type2 = NOT SET
  • encryption = disabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • channels = 1 (specifies mono recording)
Software Profile 2

call recording only, MP3 codec (32kbps) and WAV as dest2 without encryption

Software Profile 2a

call recording only, MP3 codec (16kbps) and WAV as dest2 without encryption

  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = http://webdav
  • type2 = audio/wav
  • encryption = disabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = http://webdav
  • type2 = audio/wav
  • encryption = disabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
Software Profile 3

call recording only, MP3 codec (32kbps bit rate) with encryption

Software Profile 3a

call recording only, MP3 codec (16kbps bit rate) with encryption

  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = NOT SET
  • type2 = NOT SET
  • encryption = enabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = NOT SET
  • type2 = NOT SET
  • encryption = enabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
Software Profile 4

call recording only, MP3 codec (32kbps) and WAV as dest2 with encryption

Software Profile 4a

call recording only, MP3 codec (16kbps) and WAV as dest2 with encryption

  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = http://webdav
  • type2 = audio/wav
  • encryption = enabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC
  • dest = S3 or http://webdav
  • type = audio/mp3
  • dest2 = http://webdav
  • type2 = audio/wav
  • encryption = enabled
  • write interval = 10s
  • call duration = 210s
  • callrec_dest = HTCC

Hardware Profiles Used in 2014 GIR-GVP Port Capacity Tests

Hardware Profile 1 Specifications & Recommendations Comment
CPU Single Hex Core Intel Xeon X5670@ 2.93GHz
Memory 8 GB or more 4GB is minimum and 8GB is recommended
Network GigaBit Ethernet 100MBit supported
Storage 15k rpm SAS HDD disk storage with at least 72GB.
RAID 0.
15k rpm recommended for maximum performance
OS Windows Server 2008 R2 x64 Enterprise Edition SP1
Hardware Profile 2 Specification & Recommendation Comment
CPU Single Hex Core Intel Xeon X5675@ 3.06GHz
Memory 16 GB or more 4GB is minimum for each VM
Network GigaBit Ethernet 100MBit supported
Storage SSD used for MCP recording cache location.

15k rpm SAS HDD disk storage with at least 136GB used for all other operations.
RAID 0

SSD and 15k rpm SAS HDD are recommended for maximum performance
OS VM vSphere or ESXi 5.x

Windows Server 2008 R2 x64 Enterprise Edition SP1

VM vSphere 5.x as host OS

Windows 2008 Server as Guest OS on VM

Hardware Profile 3 Specification & Recommendation Comment
CPU Dual Hex Core Xeon X5675 3.06 GHz
Memory 16GB or more 8GB is minimum and recommended
Network GigaBit Ethernet 100MBit supported
Storage 15k rpm SAS HDD disk storage with at least 72GB.
RAID 0
15k rpm SAS HDD is recommended for maximum performance
OS Windows Server 2008 R2 x64 Enterprise Edition SP1
Hardware Profile 4 Specification & Recommendation Comment
CPU Dual Hex Core Xeon X5675 3.06 GHz
Memory 32GB or more 4GB is minimum for each VM
Network GigaBit Ethernet 100MBit supported
Storage SSD used for MCP recording cache location.

15k rpm SAS HDD disk storage with at least 360GB used for all other operations.
RAID 0.

SSD and 15k rpm SAS HDD are recommended for maximum performance
OS VM vSphere or ESXi 5.x

Windows Server 2008 R2 x64 Enterprise Edition SP1

VM vSphere 5.x as Host OS

Windows 2008 Server as Guest OS on VM

Hardware Profile 5 Specification & Recommendation Comment
CPU Dual Hex Core Xeon X5675 3.06 GHz
Memory 32GB or more 4GB is minimum for each VM
Network GigaBit Ethernet 100MBit supported
Storage Multiple 15k rpm SAS HDDs disk storage with at least 360GB used for all other operations.
RAID 0.
Split VMs into multiple 15k rpm SAS HDDs.
OS VM vSphere or ESXi 5.x

Windows Server 2008 R2 x64 Enterprise Edition SP1

VM vSphere 5.x as Host OS

Windows 2008 Server as Guest OS on VM

Hardware Profile 6 Specification & Recommendation Comment
CPU Single Eight Core Xeon E5-2640 2.00 GHz
Memory 64GB or more 8GB is minimum for each VM
Network GigaBit Ethernet 100MBit supported
Storage SSD used for MCP logs and recording cache location. 15k rpm SAS HDD disk storage with at least 360GB used for all other operations. RAID 0. SSD and 15k rpm SAS HDD are recommended for maximum performance.
OS VM vSphere or ESXi 5.x

Windows Server 2008 R2 x64 Enterprise Edition SP1

VM vSphere 5.x as Host OS

Windows 2008 Server as Guest OS on VM

Virtual Machine (VM) Profiles Used in 2014 GIR-GVP Port Capacity Tests

VM Profile 1 Specifications & Recommendations Comment
Host Hardware Hardware Profile 2 1x X5675@3.06GHz
16GB RAM
CPU 2 x vCPU
Memory 5 GB 4GB is minimum
Network GigaBit Ethernet 100MBit supported
Storage 10GB SSD used for MCP recording cache location.36GB 15k rpm SAS HDD disk storage used for all other operations. SSD is recommended for maximum performance
Guest OS Windows Server 2008 R2 x64 Enterprise Edition SP1
VM Profile 2 Specifications & Recommendations Comment
Host Hardware Hardware Profile 4 2x X5675@3.06GHz , 32GB RAM
CPU 4 x vCPU
Memory 8 GB 4GB is minimum.
Network GigaBit Ethernet 100MBit supported
Storage 10GB SSD used for MCP recording cache location.At least 36GB 15k rpm SAS HDD disk storage used for all other operations. SSD is recommended for maximum performance.
Guest OS Windows Server 2008 R2 x64 Enterprise Edition SP1
VM Profile 3 Specifications & Recommendations Comment
Host Hardware Hardware Profile 4 2x X5675@3.06GHz , 32GB RAM
CPU 3 x vCPU
Memory 6 GB 4GB is minimum.
Network GigaBit Ethernet 100MBit supported
Storage 10GB SSD used for MCP recording cache location.At least 36GB 15k rpm SAS HDD disk storage used for all other operations. SSD is recommended for maximum performance
Guest OS Windows Server 2008 R2 x64 Enterprise Edition SP1
VM Profile 4 Specifications & Recommendations Comment
Host Hardware Hardware Profile 4 2x X5675@3.06GHz , 32GB RAM
CPU 2 x vCPU
Memory 5 GB 4GB is minimum.
Network GigaBit Ethernet 100MBit supported
Storage 10GB SSD used for MCP recording cache location.At least 36GB 15k rpm SAS HDD disk storage used for all other operations. SSD is recommended for maximum performance
Guest OS Windows Server 2008 R2 x64 Enterprise Edition SP1
VM Profile 5 Specifications & Recommendations Comment
Host Hardware Hardware Profile 5 2x X5675@3.06GHz , 32GB RAM
CPU 2 x vCPU
Memory 5 GB 4GB is minimum.
Network GigaBit Ethernet 100MBit supported
Storage At least 36GB 15k rpm SAS HDD disk storage.
Guest OS Windows Server 2008 R2 x64 Enterprise Edition SP1


GIR-GVP 2014 Port Capacity Test Results Summary

Criteria

System Port Capacity is the maximum number of ports (Port Density or PD) or rate (Call Arrivals Per Second or CAPS) that a GIR-GVP system can handle; this number must maximize the usage of hardware resources, while maintaining all criteria within the predefined threshold.

Because CPU usage is the usual deciding factor for peak port capacity, this section presents results that correlate to CPU usage (and other criteria such jitter buffer and max delta from sample recordings) to track the quality of recording.

The following criteria are required for an installation to reach the 95th percentile of quality analysis, from a sample RTP stream:

  • Packet Loss <= 1%
  • Max Jitter Buffer <= 30ms
  • Max Delta <= 200ms

Summary of Performance Testing Results

Table 3: GIR-GVP Port Capacity on Physical Servers

Test Profiles HW profile OS Peak Ports Comment
SW Profile 1 (32 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 200 (preferred)
SW Profile 1 (32 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 220 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1a (16 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 240 (preferred)
SW Profile 1a (16 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 270 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1a (16 Kbps bit rate) HW Profile 6 Windows 2008 R2 x64 350 (preferred) 8 Dispatchers (= # of cores)
SW Profile 1a (16 Kbps bit rate) HW Profile 6 Windows 2008 R2 x64 450 (peak) If some of audio quality criteria can be ignored or waived. 8 Dispatchers (= # of cores)
SW Profile 1b (8 Kbps bit rate Mono) HW Profile 6 Windows 2008 R2 x64 450 (preferred) 8 Dispatchers (= # of cores)
SW Profile 1b Profile 1b (8 Kbps bit rate Mono) HW Profile 6 Windows 2008 R2 x64 600 (peak) If some of audio quality criteria can be ignored or waived. 8 Dispatchers (= # of cores)
SW Profile 3a (16 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 210 (preferred)
SW Profile 3 (16 Kbps bit rate) HW Profile 1 Windows 2008 R2 x64 270 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1(32 Kbps bit rate) HW Profile 3 Windows 2008 R2 x64 240 (preferred)
SW Profile 1 (32 Kbps bit rate) HW Profile 3 Windows 2008 R2 x64 360 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 150 (preferred)
SW Profile 1a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 210 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1a (16 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 220 (preferred)
SW Profile 1a (16 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 240 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 1a (16 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 300 (preferred) 8 Dispatchers (= # of cores)
SW Profile 1a (16 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 360 (peak) If some of audio quality criteria can be ignored or waived. 8 Dispatchers (= # of cores)
SW Profile 1b (8 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 600 (preferred) 8 Dispatchers (= # of cores)
SW Profile 1a (8 Kbps bit rate) HW Profile 6 RedHat EL 6.6 x64 650 (peak) If some of audio quality criteria can be ignored or waived. 8 Dispatchers (= # of cores)
SW Profile 2a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 90 (preferred)
SW Profile 2a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 150 (peak) If some of audio quality criteria can be ignored or waived.
SW Profile 3a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 150 (preferred)
SW Profile 3a (16 Kbps bit rate) HW Profile 1 RedHat EL 6.5 x64 210 (peak) If some of audio quality criteria can be ignored or waived.

Table 4: GIR-GVP Port Capacity on Virtual Machines (VMs)

SW Profile HW profile OS Port Capacity Comment
SW Profile 1 (32 Kbps bit rate) VM Profile 1 VM vSphere 5.1
Windows 2008 R2 x64
300 (preferred) 3 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 1 VM vSphere 5.1
Windows 2008 R2 x64
360 (peak) 3 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 2 VM vSphere 5.1
Windows 2008 R2 x64
360 (preferred) 3 VMs: each VM uses 4 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 2 VM vSphere 5.1
Windows 2008 R2 x64
390 (peak) 3 VMs: each VM uses 4 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 3 VM vSphere 5.1
Windows 2008 R2 x64
520 (preferred) 4 VMs: each VM uses 3 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 3 VM vSphere 5.1
Windows 2008 R2 x64
600 (peak) 4 VMs: each VM uses 3 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 4 VM vSphere 5.1
Windows 2008 R2 x64
600 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1 (32 Kbps bit rate) VM Profile 4 VM vSphere 5.1
Windows 2008 R2 x64
660 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5
Windows 2008 R2 x64
720 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1a (32 Kbps bit rate) VM Profile 4 VM vSphere 5.5
Windows 2008 R2 x64
840 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 2 (32 Kbps bit rate MP3 + WAV) VM Profile 4 VM vSphere 5.1
Windows 2008 R2 x64
360 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 2 (32 Kbps bit rate MP3 + WAV) VM Profile 4 VM vSphere 5.1
Windows 2008 R2 x64
540 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 3a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ Windows 2008 R2 x64 480 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 3a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ Windows 2008 R2 x64 840 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 540 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 1a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 660 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 2a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 480 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 2a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 600 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 3a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 540 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 3a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 660 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 4a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 480 (preferred) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.
SW Profile 4a (16 Kbps bit rate) VM Profile 4 VM vSphere 5.5/ RH EL 6.5 x64 600 (peak) 6 VMs: each VM uses 2 vCPU & 1 MCP installed per VM.

Parameter Adjustments

These adjustments achieve higher port capacity:

Parameter Value Adjustments Yielding Higher Port Capacity

Parameter Default Value Adjusted Value
mpc.recordnumparallelpost 30 300
mpc.recordpostretrybackoff 120000 15000
mpc.recordpostretrycount 3 1
mpc.mediamgr.recordwritetimeinterval 1000 10000
fm.http_proxy <not empty> <empty> (squid bypassed)


Detailed Studies of GVP Media Server Behavior


Performance Comparison of Physical Server and Virtual Machines

Single Hex Core

With a single hex core CPU, Genesys recommends 200 ports as a reasonable peak port capacity on a physical server with a single X5670, assuming that all criteria have been met. 300 ports can be achieved with a three-VMs configuration of the same hardware, with a single X5675 (performance is slightly better than X5670). The graph below compares overall CPU usage:

Figure 1: Comparison of System Usage between Physical Server and VM from Single Hex Core


Memory usage for MCP scales linearly against port capacity:

Figure 2: Comparison of MCP Memory Usage between Physical Server and VM from Single Hex Core


The two graphs below compare the 95th percentile value of Max Jitter Buffer and Max Delta, tracking audio quality from a sample RTP stream:

Figure 3: Comparison of Max Jitter between Physical Server and VM from Single Hex Core
Figure 4: Comparison of Max Delta between Physical Server and VM from Single Hex Core


A strong correlation exists between Max Jitter Buffer and Max Delta, regarding audio quality. A physical server can meet all criteria when its port capacity is 200 or below. Port capacity that is between 200 and 220 may impact audio quality, since both Max Jitter buffer and Max Delta are just slightly beyond the passing criteria. You can consider 220 as peak performance, if audio quality is not strictly required and can be waived. However, when port capacity reaches 230 or beyond, the two values become so big that there is apparent audio quality impact.

For VM configuration: Preferred/Recommended = 300 ports; Peak Port Capacity = 360 ports. With 390 ports, overall system CPU usage is 97%, close enough to 100% that it also observed audio quality impact.

Below are two tables of IOPS for the above two configurations:

Table 1: Disk IOPS of system level from a physical server with a single hex core

Ports Disk IOPS Physical Server
Total Reads Writes
60 11.13 0.001 11.13
120 21.82 0.001 21.82
180 32.03 0.001 32.03
200 34.95 0.001 34.95
210 36.53 0.001 36.53
220 37.76 0.001 37.76
230 39.48 0.001 39.48
240 43.33 0.002 43.33

Table 2: Disk IOPS of sum of all VMs of single hex core

Ports Disk IOPS VMs Overall
Total Reads Writes
120 20.68 0.101 20.58
240 36.29 0.070 36.22
270 41.39 0.087 41.30
300 45.57 0.065 45.50
330 48.85 0.000 48.85
360 51.69 0.000 51.69
390 57.82 0.002 57.82

Disk IOPS in Disk IOPS of sum of all VMs of single hex core table is the sum of Disk IOPS from all VMs. Also, IOPS is measured from each VM and then totaled, to determine overall IOPS. The same method is applied to all Disk IO calculations for VM environments in this series of tests.

Also in the above two tables, the IOPS Reads value is quite small because most of the operations are Writes.

The graph below compares the two IOPS tables above:

Figure 5: Comparison of System Disk IOPS Physical Server and VM from Single Hex Core
  • System level disk IOPS is scaling linearly against port capacity for both physical server and virtual machines.
  • SSD is only used on VM env as cache folder of MCP recording while SAS HDD drive is used to installed OS and MCP.

Dual Hex Cores

With a host of dual hex core CPUs (2x X5675@3.06GHz) with 32 GB RAM, we also compare the results from physical server and VM env. In VM env, on same hardware spec, 3 VMs are configured with 4 vCPU and 8 GB RAM assigned to each VM. Only one MCP installed on each VM and a SSD partition is used as cache folder for MCP recording.

The graph below depicts the overall system CPU usage:

Figure 6: Comparison of System Usage between Physical Server and VM from Dual Hex Cores


The next two graphs show 95 percentile values of Max Jitter and Max Delta from sample RTP stream quality analysis:

Figure 7: Comparison of Max Jitter between Physical Server and VM from Dual Hex Cores
Figure 8: Comparison of Max Delta between Physical Server and VM from Dual Hex Cores


The two tables below show:

  • Disk IOPS at system level on a physical server.
    and
  • Disk IOPS at system level on a VM environment.

Table 3: Disk IOPS at system level from physical server of dual hex cores

Ports Disk IOPS Physical Server
Total Reads Writes
50 9.069 0.000 9.07
100 18.587 0.000 18.59
150 28.598 0.001 28.60
200 37.460 0.001 37.46
240 41.290 0.003 41.29
280 49.031 0.020 49.01
330 53.373 0.001 53.37
350 53.150 0.001 53.15
380 61.456 0.001 61.46
400 64.123 0.001 64.12


Table 4: Disk IOPS of sum of all 3 VMs of dual hex cores

Ports Overall Disk IOPS
Total Reads Writes
120 22.38 0.024 22.35
240 38.99 0.012 38.97
300 48.60 0.017 48.59
360 56.05 0.047 56.00
390 60.24 0.002 60.24
420 64.59 0.028 64.57

The graph below compares the above two tables above:

Figure 9: Comparison of System Disk IOPS Physical Server and VM from Dual Hex Cores


Performance Comparison of Different Virtual Machines Configurations

Overall CPU usage on a physical server beyond peak port capacity is actually higher than overall CPU usage on virtual machines, while audio quality actually shows a quick downfall on a physical server. So the splitting the load into multiple MCPs in a VM environment will definitely take advantage of hardware resources and will achieve high port capacity with fewer audio quality concerns. There are three different VM configurations on the same hardware spec (counting the dual hex cores, 12 vCPUs in total) that are used for this purpose:

  • 3 VMs in total, 4 vCPU are assigned to each VM, only one MCP installed on one VM.
  • 4 VMs in total, 3 vCPU are assigned to each VM, only one MCP installed on one VM.
  • 6 VMs in total, 2 vCPU are assigned to each VM, only one MCP installed on one VM.

The graph below compares overall system CPU usage.

Figure 14: Comparison of System CPU Usage among different VMs configurations

Overall CPU usage scales linearly against port capacity, regardless of how many VMs are configured.


The two graphs below compare RTP stream quality related Max Jitter and Max Delta on these three different VM configurations:

Figure 15: Comparison of Max Jitter among different VM configurations
Figure 16: Comparison of Max Delta among different VM configurations


To achieve higher port capacity, configure more VMs and assign less vCPU to each VM. With audio quality criteria considered, Genesys recommends 600 ports as peak for six VM configurations. Six VMs with two vCPUs for each VM is the optimal configuration.

Below is the table of IOPS for 6 VM configurations:

Table: Disk IOPS of sum of all 6 VMs of dual hex cores, MP3 only

Ports Overall Disk IOPS (kbps)
Total Reads Writes
120 25.18 0.028 25.15
240 42.75 0.052 42.70
300 51.16 0.004 51.15
360 59.61 0.000 59.61
420 67.04 0.000 67.04
480 74.82 0.000 74.82
540 86.30 0.000 86.30
600 94.11 0.000 94.11
660 102.05 0.000 102.04
720 111.30 0.000 111.29


The graph below compares the two tables of IOPS (Table: Disk IOPS of sum of all 3 VMs of dual hex cores for 3 VMs and Table: Disk IOPS of sum of all 6 VMs of dual hex cores, MP3 only for 6 VMs), on the same hardware spec of dual hex cores:

Figure 18: Comparison of System Disk IOPS among different VMs.
  • System Disk IOPS scales linearly against port capacity, but not related for VM configurations.
  • We ran an additional test with only 1 vCPU assigned to each VM, on a single hex core server Hardware profile 2, with a 6-VMs in total on the one server. We could barely run beyond 150 ports—the single CPU cannot be linearly scaled—which compares with a 3-VMs configuration:
Figure 19: Comparison of System Usage for one vCPU vs two vCPUs VMs configuration


The two graphs below show that both Max Jitter and Max Delta jump significantly beyond 150 ports:

Figure 20: Comparison of Max Jitter for one vCPU vs two vCPUs VMs configuration
Figure 21: Comparison of Max Delta for one vCPU vs two vCPUs VMs configuration

The comparison indicates that MCP doesn’t perform well on a single vCPU VM.


Performance Comparison of MP3 only and MP3 + WAV

The graph below compares two test profiles (Profile 1 of MP3 only and Profile 2 of MP3 + WAV as dest2) on the same hardware spec with same 6 VM configurations of 2 vCPU per VM. Below is the CPU usage:

Figure 22: Comparison of System Usage for different test profiles

Overall CPU usage for Software Profile 2 (MP3 + WAV) is slightly higher than for Software Profile 1 (MP3 only).


The two graphs below compare audio quality criteria:

Figure 24: Comparison of Max Jitter among different test profiles
Figure 25: Comparison of Max Delta among different test profiles
  • For this test, applying Profile 2 to a 6 VMs configuration: Preferred/Recommended = 360 ports; Peak Port Capacity = 530 ports, if you can ignore some potential impact to audio quality.

The table below shows the IOPS of the sum of all 6 VMs for a test profile of MP3 + wav:

Table: IOPS of sum of all 6 VMs of dual hex cores, MP3 + wav

Ports Overall Disk IOPS (kbps)
Total Reads Writes
120 42.64 0.01 42.63
240 77.69 0.00 77.69
300 95.99 0.00 95.99
360 114.28 0.00 114.28
420 130.45 0.00 130.45
480 149.58 0.00 149.58
540 172.49 0.00 172.49
600 194.55 0.00 194.55
660 177.80 0.00 177.80

The graph below compares Table: IOPS of sum of all 6 VMs of dual hex cores, MP3 + wav with Table: Disk IOPS of sum of all 6 VMs of dual hex cores, MP3 only:

Figure 26: Comparison of System Disk IOPS for different test profiles on VMs


As we have cache folder on a different SSD drive, we can break down disk IOPS for each drive as below:

Table: Disk IOPS Break Down per Drive, Test Profile 1, MP3 only

Ports Overall Disk IOPS (kbps) SSD Drive E Disk IOPS (kbps) HDD Drive C Disk IOPS (kbps)
Total Reads Writes Total Reads Writes Total Reads Writes
120 25.18 0.03 25.15 20.88 0.00 20.88 4.30 0.03 4.28
240 42.75 0.05 42.70 36.96 0.00 36.96 5.79 0.05 5.74
300 51.16 0.00 51.15 44.63 0.00 44.63 6.53 0.00 6.53
360 59.61 0.00 59.61 52.80 0.00 52.80 6.81 0.00 6.81
420 67.04 0.00 67.04 60.31 0.00 60.31 6.74 0.00 6.74
480 74.82 0.00 74.82 67.85 0.00 67.85 6.97 0.00 6.97
540 86.30 0.00 86.30 79.31 0.00 79.31 6.99 0.00 6.99
600 94.11 0.00 94.11 87.31 0.00 87.31 6.80 0.00 6.80
660 102.05 0.00 102.04 95.12 0.00 95.12 6.92 0.00 6.92
720 111.30 0.00 111.29 104.30 0.00 104.30 6.99 0.00 6.99


Table: Disk IOPS Break Down per Drive, Test Profile 2, MP3 + wav

Ports Overall Disk IOPS (kbps) SSD Drive E Disk IOPS (kbps) HDD Drive C Disk IOPS (kbps)
Total Reads Writes Total Reads Writes Total Reads Writes
120 42.64 0.01 42.63 38.38 0.00 38.38 4.26 0.01 4.26
240 77.69 0.00 77.69 72.07 0.00 72.07 5.62 0.00 5.62
300 95.99 0.00 95.99 89.04 0.00 89.04 6.95 0.00 6.95
360 114.28 0.00 114.28 107.50 0.00 107.50 6.78 0.00 6.78
420 130.45 0.00 130.45 123.56 0.00 123.56 6.89 0.00 6.89
480 149.58 0.00 149.58 142.65 0.00 142.65 6.92 0.00 6.92
540 172.49 0.00 172.49 165.61 0.00 165.61 6.88 0.00 6.88
600 194.55 0.00 194.55 187.53 0.00 187.53 7.02 0.00 7.02

The two graphs below compare corresponding drives:

Figure 29: Comparison of cache folder of SSD Drive IOPS for different profiles

This SSD drive is used exclusively as the cache folder for MCP recording. The IOPS for Profile 2 (two dest2, MP3 + wav) is as double as Profile 1 (one dest. MP3 only).

Figure 30: Comparison of HDD Drive IOPS for different profiles


This HDD drive is used for all operations except the cache folder for MCP recording. IOPS is nearly constant at a regular load and below peak. Thus, the IOPS estimating formula can be:

IOPS1 = C + k * P (dest only)
IOPS2 = C + 2k * P (both dest + dest2)
Where P = ports, C = 7, k = 0.15


Performance Comparison between SAS HDDs and SSD

These tests compare performance between SAS HDDs and SSD for recording, using 6 VMs from the same hardware spec, and these four different HDD and SSD combinations:

  • 1 HDD: all 6 VMs on one 15 krpm SAS HDD drive.
  • 2 HDD: split 6 VMs on two 15 krpm SAS HDD drives, 3 VMs per drive.
  • 3 HDD: split 6 VMs on three 15 krpm SAS HDD drives, 2 VMs per drive.
  • SSD: all 6 VMs on one 15 krpm SAS HDD while a separate SSD drive used as cache folder only.

The testing was executed with Profile 1, MP3 only. Below is the overall system CPU usage:

Figure: Comparison of System Usage among different HDD/SSD drive combinations

The overall system CPU usage exhibits no significant different between HDD and SDD.

IOPS is almost the same for these 4 combinations, so these tests use the numbers in Table: Disk IOPS of sum of all 6 VMs of dual hex cores, MP3 only.


The graphs below compare max jitter and max delta for HDD/SSD drive combinations:

Figure 32: Comparison of Max Jitter among different HDD/SSD drive combinations
Figure 33: Comparison of Max Delta among different HDD/SSD drive combinations


This graph illustrates the average disk write queue for one drive:

Figure 34: Comparison of Avg Disk Write Queue among different HDD/SSD drive combinations
  • The queue starts to increase non linearly around 360 ports, which makes that number close to maximum port capacity of the hard drive.
  • In the three graphs above: with only one HDD drive, both max jitter and max delta started to increase dramatically from 330 ports and higher. Thus: Preferable/Recommended = 330 ports; Peak Port Capacity = 360 ports. In Table: Disk IOPS of sum of all 6 VMs of dual hex cores, MP3 only, IOPS is 51 for 330 ports; while IOPS is around 60 for 360 ports. Thus: Preferable/Recommended IOPS = 51; maximum IOPS for one 15 krpm SAS HDD = 60.
  • With multiple HDDs (2 or 3) to split the load, peak port capacity is nearly the same as SSD—660 ports since the load per drive would be 330 (for 2 HDD drives) and 220 (for 3 HDD drives). Max jitter does not exhibit big differences for these three configurations. But max delta shows a higher delay for 3 HDDs compared to SSD, and 2 HDDs compared to 3 HDDs. Thus: with strict audio quality required in these scenarios, fast media such as SSD will help improve latency and minimize any potential audio quality issues.


Data Throughput

These two formulas estimate data throughputs:

Formula 1 (for MP3 only):
MP3 bitrate * Ports / 8 = KB/sec
Or 32kbps * Ports / 8 =KB/sec if MP3 is 32kbps

Formula 2 (for MP3 + wav):
(MP3 bitrate + WAV bitrate) * Ports / 8 = KB/sec
Or (32 kbps + 128 kpbs) * Ports / 8 = 160 kbps / 8 = KB/sec if 32kpbs MP3 + wav

Six VM configurations, with SSD as the cache folder for MCP recording, produced the following measurements from testing for test SW Profile 1 (MP3 32 kbps only):

Table: Data Throughputs for MP3 32 kbps only

Ports Overall Disk (kbps) SSD Drive Disk (kbps)
Total Reads Writes Total Reads Writes
120 554.10 0.12 553.98 536.98 0.00 536.98
240 1075.70 0.50 1075.19 1053.19 0.00 1053.19
300 1332.61 0.06 1332.55 1308.69 0.00 1308.69
360 1601.09 0.00 1601.09 1575.02 0.00 1575.02
420 1847.91 0.00 1847.91 1822.30 0.00 1822.30
480 2109.57 0.00 2109.57 2082.49 0.00 2082.49
540 2461.25 0.00 2461.25 2434.04 0.00 2434.04
600 2728.83 0.00 2728.83 2702.57 0.00 2702.57
660 3010.07 0.00 3010.07 2982.84 0.00 2982.84
720 3310.64 0.00 3310.64 3280.45 0.00 3280.45

Apply Formula 1 to the 120-port and 600-port samples from the table above to achieve these results:

32 kpbs * 120 / 8 = 480 kb close to 534 in the table (in SSD)
32 kpbs * 600 / 8 = 2400 kb close to 2703 in the table (in SSD)

The measurements from real testing are slightly higher than calculations. Because other files such as metadata and JSON files are saved in the same cache folder, the formula might need adjusting.


Below is the table from testing measurement for SW Profile 2 (MP3 + wav) on the same 6 VM configuration with SSD as cache folder of MCP recording:

Table: Data Throughputs for MP3 32 kbps + wav

Ports Overall Disk (kbps) SSD Drive Disk (kbps)
Total Reads Writes Total Reads Writes
120 2444.255 0.25 2444.01 2427.025 0.000 2427.025
240 4881.163 0.01 4881.15 4859.951 0.000 4859.951
300 6083.649 0.00 6083.64 6058.294 0.000 6058.294
360 7380.491 0.00 7380.49 7354.970 0.000 7354.970
420 8547.663 0.00 8547.66 8522.034 0.000 8522.034
480 9828.785 0.00 9828.79 9802.991 0.000 9802.991
540 11093.931 0.00 11093.93 11067.838 0.000 11067.838
600 12335.993 0.01 12335.99 12309.182 0.000 12309.182

Apply Formula 2 to the 120-port and 600-port samples in the table above to achieve these results:

(32 kbps + 128 kbps) * 120 / 8 = 2400 kb close to 2427 in the table
(32 kbps + 128 kbps) * 600 / 8 = 12000 kb close to 12309 in the table


MCP IOPS

A single HDD local hard drive was used for testing because the HDD itself could become the bottleneck. These tests focus on disk IOPS measurement and calculation, and certain real deployment scenarios require that a local drive not be used. Thus, the measurement for MCP IOPS is useful to calculate overall IO requirement. The three tables below offer three typical MCP IOPS configurations:

Table: MCP IOPS on physical server of single hex core, MP3 only

Ports Physical MCP IOPS (kbps)
Total Read Write
60 21.88 14.93 6.95
120 43.25 29.64 13.60
180 63.28 43.37 19.91
200 71.47 49.35 22.12
210 74.95 51.58 23.37
220 78.40 53.93 24.47
230 82.51 56.83 25.68
240 85.28 58.37 26.90


Table: MCP IOPS on 6 VMs of dual hex core, MP3 only

MP3 only
Ports
Overall 6 VM MCP IOPS (kbps)
Total Read Write
120 43.672 29.679 13.993
240 87.477 59.280 28.197
300 109.292 73.848 35.445
360 130.965 88.917 42.047
420 151.706 103.095 48.611
480 171.290 116.053 55.237
540 194.772 132.867 61.905
600 215.101 146.882 68.219
660 236.654 161.990 74.664
720 259.100 177.279 81.820


Table: MCP IOPS on 6 VMs of dual hex core, MP3 + wav

MP3 + wav
Ports
Overall 6 VM MCP IOPS (kbps)
Total Read Write
120 173.607 146.092 27.515
240 348.369 292.884 55.486
300 434.511 364.898 69.613
360 522.447 439.412 83.035
420 600.880 504.682 96.198
480 693.861 583.965 109.896
540 780.187 656.958 123.229
600 859.359 722.907 136.453
660 790.737 664.024 126.713


The graph below compares the two tables MCP IOPS on physical server of single hex core, MP3 only and MCP IOPS on 6 VMs of dual hex core, MP3 only:

Figure 40: MCP IOPS, Physical VS VMs


The graph below compares the two tables MCP IOPS on 6 VMs of dual hex core, MP3 only and MCP IOPS on 6 VMs of dual hex core, MP3 + wav:

Figure 41: MCP IOPS, MP3 only VS MP3 + WAV

The MCP IOPS is related to the test profile and ports, but on the same physical server and VMs.

Comments or questions about this documentation? Contact us for support!