项目地址:https://github.com/rakyll/hey(请勿用于非法用途)
本工具类似webbench,基于Golang编写,主要用于服务器及网页的HTTP/HTTPS的压力测试,支持自定义并发连接数,支持图标式结果显示。
下载+编译方法:
#P.S:编译需要GO环境,请自行安装
git clone https://github.com/rakyll/hey.git
cd hey && make
cd bin
可在目录下看到编译好的可执行文件 分别为 hey_darwin_amd64 hey_linux_amd64 hey_windows_amd64(本编译器运行在64位环境下),linux下执行./hey_linux_amd64
用法:
Usage: hey [options...] <url>
Options:
-n Number of requests to run. Default is 200.
-c Number of workers to run concurrently. Total number of requests cannot
be smaller than the concurrency level. Default is 50.
-q Rate limit, in queries per second (QPS) per worker. Default is no rate limit.
-z Duration of application to send requests. When duration is reached,
application stops and exits. If duration is specified, n is ignored.
Examples: -z 10s -z 3m.
-o Output type. If none provided, a summary is printed.
"csv" is the only supported alternative. Dumps the response
metrics in comma-separated values format.
-m HTTP method, one of GET, POST, PUT, DELETE, HEAD, OPTIONS.
-H Custom HTTP header. You can specify as many as needed by repeating the flag.
For example, -H "Accept: text/html" -H "Content-Type: application/xml" .
-t Timeout for each request in seconds. Default is 20, use 0 for infinite.
-A HTTP Accept header.
-d HTTP request body.
-D HTTP request body from file. For example, /home/user/file.txt or ./file.txt.
-T Content-type, defaults to "text/html".
-a Basic authentication, username:password.
-x HTTP Proxy address as host:port.
-h2 Enable HTTP/2.
-host HTTP Host header.
-disable-compression Disable compression.
-disable-keepalive Disable keep-alive, prevents re-use of TCP
connections between different HTTP requests.
-disable-redirects Disable following of HTTP redirects
-cpus Number of used cpu cores.
(default for current machine is 8 cores)
例如:
./hey_linux_amd64 -n 114514 -c 1111 https://baidu.com/
输出结果例:
P.S:请勿在本站尝试,会导致防火墙规则生效BAN掉IP
哼,哼,哼,啊啊啊啊啊,啊啊啊啊啊啊啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊