What are good web server benchmarking tools for Linux
For those of you who want to find out how your web server or web service will measure up under different workload conditions, here are a list of web server benchmark tools available on Linux platforms.
1. ApacheBench
ApacheBench (ab) is a standard command-line web server benchmark tool bundled with Apache HTTP server. It can send an arbitrary list of (concurrent) web requests. Support for POST/PUT/GET requests, as well as basic password authentication is available. Testing results include requests per second, time per request, transfer rate, connection time statistics (min, max, median, mean), etc. Last update: 12/2015. License: Apache v2.0.
2. Apache JMeter
Apache JMeter is a cross-platform Java-based GUI program designed to stress test any web application. It can be used to test the performance of web-server backends powered by server-side languages (e.g., PHP, Java, ASP.NET) or databases (e.g., JDBC, LDAP, MongoDB). It provides highly pluggable testing architecture via extensible data visualization GUI. Last update: 03/2015. License: Apache v2.0.
3. curl-loader
curl-loader is a command-line application workload generator which can simulate multiple HTTP/HTTPS FTP/FTPS clients. Simulated clients can conduct various tasks, such as authenticated login (POST or GET/POST), GET/POST/PUT requests from batch configuration with probabilistic distribution, FTP passive/active operations, HTTP logoff (POST, GET/POST, GET with cookie), etc. Per-client status and statistics are logged to a file. Last update: 01/2012. License: GPLv2.
4. FunkLoad
FunkLoad is a web server load testing tool written Python. It can perform functional unit testing, as well as stress and longevity testing. Features include GET/POST/PUT/DELETE requests, basic authentication, cookie, HTTPS with SSL/TLS, browser cache emulation, and CSS/image/JavaScript fetching. Last update: 05/2015. License: GNU GPL.
5. Gatling
Gatling is an open-source protocol-agnostic load testing tool primarily used to benchmark HTTP servers and web services. Using a lightweight asynchronous testing engine, it can easily simulate thousands of concurrent users whose web browsing behaviors and scenarios (e.g., login, browse product listings, add a product to cart, check out) are independently scripted. It supports real-time reports via the Graphite protocol, and can be integrated via extensions with other third-party building tools such as Maven, Jenkins, SBT. Last update: 12/2015. License: Apache v2.0
ثبت نظر