Boom 是 google 一女工程师使用 Go 语言开发的类似 apache ab 的性能测试工具。相比 ab,boom跨平台性更好,而且更容易安装。
##安装##
`go get github.com/rakyll/boom`
##使用##
```
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)
```
##示例##
```
% 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
```