Web 压力测试工具:Boom

jopen 9年前

Boom是一个 Go 语言编写迷你程序,能够发送一些负载至一个Web应用程序。它类似于Apache Bench (ab),但能够更好的用于不同的平台并且易于安装。

安装

Simple as it takes to type the following command:

go get github.com/rakyll/boom 

使用

Boom 支持自定义headers, request body 和 basic authentication。It runs provided number of requests in the provided concurrency level, and prints stats.

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.    -t  Timeout in ms.    -A  HTTP Accept header.    -d  HTTP request body.    -T  Content-type, defaults to "text/html".    -a  Basic authentication, username:password.    -x  HTTP Proxy address as host:port.      -allow-insecure       Allow bad/expired TLS/SSL certificates.    -disable-compression  Disable compression.    -disable-keepalive    Disable keep-alive, prevents re-use of TCP                          connections between different HTTP requests.    -cpus                 Number of used cpu cores.                          (default for current machine is 1 cores) 

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/1432257199567