Skip to content

Instantly share code, notes, and snippets.

@marionzualo
Forked from denji/http-benchmark.md
Created June 15, 2016 06:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marionzualo/d02efd5bbb65f36aa2cdb4d2c03bce01 to your computer and use it in GitHub Desktop.
Save marionzualo/d02efd5bbb65f36aa2cdb4d2c03bce01 to your computer and use it in GitHub Desktop.
HTTP(S) Benchmark Tools

Tools

Located in alphabetical order (not prefer)

  • ab – slow and single threaded

  • apib – most of the features of Apache Bench (ab), but is also intended as a more modern replacement

  • boom – HTTP(S) load generator, ApacheBench (ab) replacement, written in Go

  • curl-loader – performance loading of various application services and traffic generation

  • gatling – High performance load testing framework based on Scala, Akka and Netty

  • goad – Goad is an AWS Lambda powered, highly distributed, load testing tool

  • gohttpbench – ab-like benchmark tool run on multi-core cpu

  • htstress – multithreading support which is essential in bechmarking highload services (>5K rps)

  • httperf – difficult configuration, slow and single threaded

  • inundator – A simple and high-throughput HTTP flood program (linux only)

  • jmeter – Apache JMeter™, pure Java application designed to load test performance both on static and dynamic resources.

  • pounce – evented, but results fluctuate, it's sometimes faster than htstress

  • siege – slow and single threaded

  • sniper – powerful & high-performance http load tester, written in Go

  • tsung – Simulate stress users in order to test the scalability and performance of IP based client/server applications HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber/XMPP servers.

  • vegeta – go-HTTP load testing tool and library

  • weighttp – multithreaded, but slower than htstress without keepalive

  • wrk – multithreaded~~, but doesn't offer concurrent connections and a keepalive switch~~

  • wrk2 – constant throughput, correct latency recording variant of wrk

      Concurrent connections are enabled with:
        -c, --connections <N>  Connections to keep open
      And keepalive (which is default) can be disabled using:
        -H "Connection: close"
    

SaaS/PaaS

  • blitz.io – an easy solution to load and performance testing from the Cloud. Test scaliability on websites, mobile, web apps and REST APIs.
  • BlazeMeter – offers a cross-enterprise test automation framework for the entire technical team (developers, devops, ops and QA) throughout the product development lifecycle. Run continuous or ‘on demand’ testing for APIs, mobile apps and websites. Run from the cloud, on-premise or as a hybrid solution. Use with JMeter & Selenium WebDriver & integrate with your existing CI, CD & APM tools.
  • NewRelic – software analytics tool suite used by developers, ops, and software companies to understand how your applications are performing in development and production
  • AppDynamics – application performance monitoring
  • NGINX Amplify – Visually identify performance bottlenecks, overloaded servers, or potential DDoS attacks. Improve and optimize NGINX performance with intelligent advice and recommendations. Get alerts when something is wrong with the delivery of your application. Plan capacity and performance for web applications. Keep track of systems running NGINX 1

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment