Go语言开发的Web应用压力测试工具:Boom

jopen 10年前

Go编写的HTTP(S)负载生成器,ApacheBench(AB)的替代工具。Boom是一个微型程序,能够对Web应用程序进行负载测试。它类似于 Apache Bench (ab),但在不同的平台上有更好的可用性,安装使用也比较简单。

Usage

Boom 支持自定义headers,请求body和基本身份验证。它运行在所提供的并发级别的请求,并打印统计提供的数字。

Usage: boom [options...] <url>    Options:    -n  Number of requests to run.    -c  Number of requests to run concurrently. Total number of requests cannot        be smaller than the concurency level.    -q  Rate limit, in seconds (QPS).    -o  Output type. If none provided, a summary is printed.        "csv" is the only supported alternative. Dumps the response        metrics in comma-seperated values format.      -m  HTTP method, one of GET, POST, PUT, DELETE, HEAD, OPTIONS.    -h  Custom HTTP headers, name1:value1;name2:value2.    -d  HTTP request body.    -T  Content-type, defaults to "text/html".    -a  Basic authentication, username:password.      -allow-insecure Allow bad/expired TLS/SSL certificates. 

This is what happens when you run Boom:

% boom -n 1000 -c 100 https://google.com  1000 / 1000 ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎ 100.00 %     Summary:    Total:        21.1307 secs.    Slowest:      2.9959 secs.    Fastest:      0.9868 secs.    Average:      2.0827 secs.    Requests/sec: 47.3246    Speed index:  Hahahaha    Response time histogram:    0.987 [1]     |    1.188 [2]     |    1.389 [3]     |    1.590 [18]    |∎∎    1.790 [85]    |∎∎∎∎∎∎∎∎∎∎∎    1.991 [244]   |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎    2.192 [284]   |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎    2.393 [304]   |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎    2.594 [50]    |∎∎∎∎∎∎    2.795 [5]     |    2.996 [4]     |    Latency distribution:    10% in 1.7607 secs.    25% in 1.9770 secs.    50% in 2.0961 secs.    75% in 2.2385 secs.    90% in 2.3681 secs.    95% in 2.4451 secs.    99% in 2.5393 secs.    Status code distribution:    [200] 1000 responses

项目主页:http://www.open-open.com/lib/view/home/1408431952366