Scalability and Performance

As described in High-Availability Configuration, the SIPREC Server (OrkAudio), VGSx, and VCDx can all be scaled to meet the throughput requirements of your call center solution.


The SIPREC Server and VGSx perform very little processing and serve as a passthrough to VCDx where voice quality analysis, replay detection, and clone detection take place. This guide provides scaling figures for the VCDx component.

Info

Daon recommends a 1:1 relationship between SIPREC servers and VGSx instances and a 1:2 relationship between VGSx and VCDx.

VCDx Scaling

Server Configuration

VCDx is provided as a docker container with support for CPU and GPU deployments. Production systems are strongly encouraged to run on GPU. Daon validates and tests on Amazon AWS g4dn.xlarge instance types (https://aws.amazon.com/ec2/instance-types/g4/) and recommends that instance size for production deployments.

Instance Size

GPU

vCPUs

Memory (GiB)

g4dn.xlarge

1

4

16

Test Configuration

This test configuration was performed by calling the VCDx service directly, passing a 128-bit, 8khz wav file. The audio file is 106,496 bytes and the wav file is a 6.2 second audio sample containing 3.14 seconds of speech.

Direct API calls were made against the VCDx service using a JMeter test suite. Each test involved a certain number of threads, with each thread performing 100 iterations of submitting a synchronous request.

Performance Test Results

Threads

Total Executions

Average Response Time

5

500

0.163s

8

800

0.152s

10

1000

0.141s

30

3000

0.121s

50

5000

0.121s