Fortio (Φορτίο) started as, and is, Istio’s load testing tool and later (2018) graduated to be its own open-source project. Fortio runs at a specified query per second (qps) and records an histogram of execution time and calculates percentiles (e.g. p99 ie the response time such as 99% of the requests take less than that number (in seconds, SI unit)). It can run for a set duration, for a fixed number of calls, or until interrupted (at a constant target QPS, or max speed/load per connection/thread). Fortio is a fast, small (4Mb docker image, minimal dependencies), reusable, embeddable go library as well as a command line tool and server process, the server includes a simple web UI and REST API to trigger run and see graphical representation of the results (both a single latency graph and a multiple results comparative min, max, avg, qps and percentiles graphs).
Features
- Fortio is a microservices (http, grpc) load testing library
- Fortio allows to specify a set query-per-second load and record latency histograms and other useful stats
- Command line tool, advanced echo server, and web UI in go (golang)
- Fortio runs at a specified query per second (qps) and records an histogram of execution time and calculates percentiles
- Fortio is quite mature and very stable with no known major bugs
- Fortio also includes a set of server side features