服务器压力测试 wrk,wrk: wrk 是一个比较先进的 HTTP 压力测试工具,当在单个多核 CPU 上运行时,能够产生大量负载...

wrk - a HTTP benchmarking tool

wrk is a modern HTTP benchmarking tool capable of generating significant

load when run on a single multi-core CPU. It combines a multithreaded

design with scalable event notification systems such as epoll and kqueue.

An optional LuaJIT script can perform HTTP request generation, response

processing, and custom reporting. Details are available in SCRIPTING and

several examples are located in scripts/.

Basic Usage

wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

This runs a benchmark for 30 seconds, using 12 threads, and keeping

400 HTTP connections open.

Output:

Running 30s test @ http://127.0.0.1:8080/index.html

12 threads and 400 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 635.91us 0.89ms 12.92ms 93.69%

Req/Sec 56.20k 8.07k 62.00k 86.54%

22464657 requests in 30.00s, 17.76GB read

Requests/sec: 748868.53

Transfer/sec: 606.33MB

Command Line Options

-c, --connections: total number of HTTP connections to keep open with

each thread handling N = connections/threads

-d, --duration: duration of the test, e.g. 2s, 2m, 2h

-t, --threads: total number of threads to use

-s, --script: LuaJIT script, see SCRIPTING

-H, --header: HTTP header to add to request, e.g. "User-Agent: wrk"

--latency: print detailed latency statistics

--timeout: record a timeout if a response is not received within

this amount of time.

Benchmarking Tips

The machine running wrk must have a sufficient number of ephemeral ports

available and closed sockets should be recycled quickly. To handle the

initial connection burst the server's listen(2) backlog should be greater

than the number of concurrent connections being tested.

A user script that only changes the HTTP method, path, adds headers or

a body, will have no performance impact. Per-request actions, particularly

building a new HTTP request, and use of response() will necessarily reduce

the amount of load that can be generated.

Acknowledgements

wrk contains code from a number of open source projects including the

'ae' event loop from redis, the nginx/joyent/node.js 'http-parser',

and Mike Pall's LuaJIT. Please consult the NOTICE file for licensing

details.

Cryptography Notice

This distribution includes cryptographic software. The country in

which you currently reside may have restrictions on the import,

possession, use, and/or re-export to another country, of encryption

software. BEFORE using any encryption software, please check your

country's laws, regulations and policies concerning the import,

possession, or use, and re-export of encryption software, to see if

this is permitted. See http://www.wassenaar.org/ for more

information.

The U.S. Government Department of Commerce, Bureau of Industry and

Security (BIS), has classified this software as Export Commodity

Control Number (ECCN) 5D002.C.1, which includes information security

software using or performing cryptographic functions with symmetric

algorithms. The form and manner of this distribution makes it

eligible for export under the License Exception ENC Technology

Software Unrestricted (TSU) exception (see the BIS Export

Administration Regulations, Section 740.13) for both object code and

source code.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值