th2-Loader

th2-Loader (aka th2-shark) is a high-performance load and simulation platform for mission-critical financial market infrastructures. Built for environments where microseconds matter and failures have a systemic effect, th2-Loader goes far beyond traditional performance testing tools. It enables organisations to detect capacity, resilience, correctness and recovery defects in trading, market data distribution, post-trade and web-based systems – as well as across systems – under realistic and extreme conditions and complex load scenarios and scenarios.

Testing modes:

  • load generation via multiple protocols
  • client and server simulation
  • event-driven load test scenarios
  • post-execution data analysis and reconciliation
  • test or production data replay
  • functional testing

Advanced Load Control & Fault Testing

  • Platform-agnostic within the financial domain and applicable to other domains, following additional customisation
  • Thousands of simultaneous client connections or server simulation, high-rate transaction stress, bandwidth and latency measurement
  • Configurable load shapes and messages mix per connection or group
  • Dynamic on-the-fly load changes during execution
  • Support for failover and fault-tolerance testing
  • Built-in reconciliation features across multiple data streams and systems
  • Support of a variety of financial and general protocols and APIs
  • GUI testing capabilities 
  • Real-time exposure of general and custom metrics into a monitoring solution
  • Dynamic reporting capabilities for internal and regulatory compliance purposes

th2-Loader enables advanced capabilities for generating enterprise-grade loads alongside easy adoption across non-functional testing teams. It can be on-prem- or cloud-hosted and does not require high-end hardware for massive load testing.

Enterprise-grade load, performance and resilience testing for financial systems

Technical Characteristics

Capacity & Precision
Capable of producing hundreds of thousands/millions of messages per second of sustained load and microbursts up to several thousand messages per millisecond. Microsecond-range precision.
Testing Type
Capable of acting in several modes: active load and non-functional testing (simulation of both client connections and/or server end points), reconciliation (comparison of different data streams), replaying of pre-recorded data. The tool follows user-driven logic for data sending/handling/reconciliation, so it can support custom scenarios/user-defined behavior.
Target SUT
Trading Platforms, Market Data Delivery and Post-Trade Systems and their combinations
SUT Interface
The tool is able to simulate client connections (typically to gateways over network protocols/APIs; data streams generation: mcast/ucast), REST API, Websockets; has features to test a WebUI frontend.
Can simulate a server and handle connections from an SUT (e.g. post-trade feed or handle SOR (Smart Order Router) connections to away exchanges). As well as TCP, the tool is able to broadcast data in UDP and can be used for external pricing feed simulation (e.g. SIP or OPRA).
SUT Interaction Method
The tool has a modular structure and has an ability to implement custom user-defined logic. Inputs and outputs are generated based on the user-defined logic, load shapes and other parameters. The tool supports ‘on the fly’ load shape changes.
Protocols
Extant plug-ins for Industry-standard (FIX and dialects, FAST, ITCH, etc.) and proprietary (MIT, OUCH, SQF, SAIL, HSVF, etc.) protocols. New bespoke plug-ins for additional protocols can be developed by request.
Test Scripts
Capable of stressing systems with a high rate of transactions, including microbursts. Used for throughput, bandwidth, latency tests. Can be used for support of fault tolerance (failover) tests. Has features for reconciliation of several data sources (e.g. input vs output, order entry vs market data, etc.).
Test Management, Execution and Reporting
Simulation of multiple client connections with specified load shape for each connection or group of connections (configure number of connections, Load Shape for each connection or group of connections, messages distribution for each connection or group of connections).
Can report metrics to Prometheus (or other monitoring system) and it can be visualised in Grafana (or similar tools) in near-real time.
Platform requirements
Platform-agnostic. Mostly used on Linux-based 64-bit platforms.