Hasty Briefsbeta

Bilingual

Linux extreme performance H1 load generator

3 days ago
  • #high-performance
  • #io_uring
  • #load-testing
  • gcannon is a high-performance HTTP/1.1 and WebSocket load generator built on Linux io_uring for maximum throughput.
  • It requires Linux 6.1+, gcc, and liburing-dev 2.5+, and can be installed via git clone and make.
  • Features include exact microsecond-resolution latency tracking via CLOCK_MONOTONIC, a TUI with live progress, and JSON output for scripting.
  • Supports HTTP pipelining, WebSocket mode, per-template latency histograms, and run history saved to ~/.gcannon/history.bin.
  • Uses a two-tier histogram (0–10ms at 1μs, 10ms–5s at 100μs) for exact percentile calculations without heap allocation.
  • Architecture leverages io_uring for batch I/O without per-operation syscalls, with features like multishot recv and registered buffers.
  • Worker threads operate independently with pre-allocated resources, using a state machine driven by io_uring completions.