Skip to main content
A comprehensive load testing tool for TTS On-Premises that measures performance metrics including latency, throughput, and streaming characteristics across different QPS (Queries Per Second) loads.

Overview

The tool simulates realistic TTS workloads by sending requests at specified rates with configurable burstiness patterns. It measures:
  • End-to-end latency
  • Audio generation latency per second
  • Streaming metrics (first chunk, 4th chunk, average chunk latencies)
  • Request success rates
  • Server performance under different load conditions

Quick start

Parameters

Required

Load configuration

TTS configuration

Output and analysis

Examples

Streaming vs non-streaming comparison

Plot-only mode

Generate plots from existing results without re-running tests:

Understanding results

The tool generates comprehensive metrics for each QPS level.

Latency metrics

  • E2E Latency: Complete request-response time
  • Audio Generation Latency: Time per second of generated audio
  • First Chunk Latency: Time to first audio chunk (streaming only)
  • 4th Chunk Latency: Time to 4th audio chunk (streaming only)
  • Average Chunk Latency: Mean time between chunks (streaming only)

Percentiles

Results include P50, P90, P95, and P99 percentiles for all latency metrics.

Output files

Results are saved in benchmark_result/{benchmark_name}/:
  • result.json — Raw performance data
  • {benchmark_name}_*.png — Performance charts

Burstiness parameter

The burstiness parameter controls request timing distribution:

Performance tips

  1. Start small — Begin with low QPS and small sample sizes
  2. Use appropriate text samples — Match your production text length distribution
  3. Monitor server resources — Watch CPU, memory, and network during tests
  4. Consider burstiness — Real-world traffic is often bursty (try 0.7–0.9)
  5. Test both modes — Compare streaming vs non-streaming for your use case

Troubleshooting

Common issues

Debug mode

Use the --verbose flag for detailed request/response logging:

Architecture

The tool uses:
  • Async/await: Efficient concurrent request handling
  • Pausable timers: Accurate server-only timing measurements
  • Multiple protocols: gRPC, HTTP REST API support
  • Configurable clients: Pluggable client architecture
  • Real-time progress: Live progress bars and status updates