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.

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 SizeGPUvCPUsMemory (GiB)
g4dn.xlarge1416

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

ThreadsTotal ExecutionsAverage Response Time
55000.163s
88000.152s
1010000.141s
3030000.121s
5050000.121s
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard