Getting Started with Fortio for Load testing

Share

Fortio Load testing


We look at Fortio, which is a powerful load testing tool which is free and powered by Google's Go language.

It is a rightful successor to Vegeta which is favourite among Go developers.



Updated : 16 November 2023

Installing Fortio

  1. Install go (golang 1.8 or later)
  2. go get istio.io/fortio
  3. you can now run fortio (from your gopath bin/ directory)

How to run a load test using Fortio?

 fortio load -qps 100 -t 30s http://example.com/api
 
This command will perform a load test at 100 queries per second for 30 seconds against the specified URL (http://example.com/api). You can adjust the options (-qps for queries per second, -t for duration) based on your requirements.
 

Docker

 The following docker commands are useful when working with Fortio
 
 docker run -p 8080:8080 -p 8079:8079 fortio/fortio server & # For the server
 
 This runs Fortio in GUI mode (this open a web interface at http://localhost:8080/fortio)
 

fortio-load-testing-web-interface

As you can see, you can specify the percentiles for reporting, the TPS and the duration using the web interface.  However, you are only supposed to use the GUI mode for developing your scripts
 
 docker run fortio/fortio load http://www.google.com/ # For a test run
 
 This command runs fortio without the GUI mode and is recommended for a test

The command-line gives you more options but it is not as powerful as a Apache JMeter or Gatling . It does not support scenario based load testing

Things I like:

  1. A simple web interface
  2. Ability to share report and graphs

Things I don't like:

  1. No support for scripts
  2. No support for scenario bases load testing

Fortio is best suited for load testing where developers want to test their code locally on their desktop computers. It can also be used for simulating spikes.


0 comments:

Post a Comment

What do you think?.

© 2007 - DMCA.com Protection Status
The content is copyrighted to Sundeep Machado


Note: The author is not responsible for damages related to improper use of software, techniques, tips and copyright claims.