现代HTTP检测工具 - wrk

2012-03-20      11543      C语言
项目简介

wrk-一个HTTP检测工具

wrk是一个现代HTTP检测工具,当在一个单一的多核CPU上运行时能够生成明显的负载。它将多线程设计与可扩展的事件通知系统相结合,比如epoll和kqueue。

一个可选的LuaJIT脚本可以完成HTTP请求生成,响应处理及自定义报告。

基础使用方法

wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html
这运行了一个30秒的检测,使用了12个线程,并保持400个打开的HTTP连接。

输出:

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

检测提示

机器运行wrk必须有足够数量的暂时的端口可用,并且关闭的套接字应该快速回收。

要处理初始连接突发,服务器的监听储存应该比正在测试的并发连接数更大。

用户脚本应该只改变HTTP方法,路径,廷加header或者body,而不会对性能产生影响。

每个请求的行动,特别是建立一个新的HTTP请求,response()的使用必然会降低能够生成的加载的数量。