​ 34.9k star,推荐一款使用工具,wrk

简介: 【8月更文挑战第14天】

34.9k star,推荐一款使用工具,wrk

1 简介

wrk,一款http协议的压测工具,能够在单个多核 CPU 上运行时产生大量负载。它将多线程设计与可扩展的事件通知系统(如 epoll 和 kqueue)相结合。

image.png

高级功能可以通过lua脚本完成,可选的 LuaJIT 脚本可以执行 HTTP 请求生成、响应处理和自定义报告。

2 安装

github可以访问的直接到如下链接去下载就可以,目前支持linux

https://github.com/wg/wrk

github如果无法访问的话,可以后台直接私信

3 示例:

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

命令参数:

-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.

4 注意项

运行 wrk 的机器必须具有足够数量的临时端口,并且应快速回收关闭的套接字。为了处理初始连接突发,服务器的侦听(2)积压工作应该大于正在测试的并发连接数。

仅更改 HTTP 方法、路径、添加标头或正文的用户脚本不会影响性能。每个请求的操作,特别是构建新的 HTTP 请求,以及使用 response() 必然会减少可以生成的负载量。

注:如需转载,须保留文首公众号名片,其它行为一律视为非授权转载。

相关文章
|
5月前
|
Go
Go命令行解析神器入门 - 10分钟上手flag包
Go命令行解析神器入门 - 10分钟上手flag包
147 0
|
5月前
|
JSON 安全 数据安全/隐私保护
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
​iOS Class Guard github用法、工作原理和安装详解及使用经验总结
89 0
|
10月前
|
数据采集 Go
如何使用 Go 语言实现并发获取多个 URL?
如何使用 Go 语言实现并发获取多个 URL?
51 0
如何使用 Go 语言实现并发获取多个 URL?
|
XML Web App开发 开发框架
回声嘹亮 之 Go 的 Echo 框架 —— 上手初体验
Echo 是众多 Go Web 框架的一个,根据官网介绍,它有着高性能、可扩展性、极简的特点。
回声嘹亮 之 Go 的 Echo 框架 —— 上手初体验
|
网络协议 Go 网络安全
go 语言实战入门案例之实现Socks5
go 语言实战入门案例之实现Socks5
78 0
|
数据采集 存储 JSON
猜谜游戏、彩云词典爬虫、SOCKS5代理的 Go(Golang) 小实践,附带全代码解释
猜谜游戏在编程语言实践都已经和 HelloWord 程序成为必不可少的新手实践环节,毕竟,它能够让我们基本熟悉 for 循环、变量定义、打印、if else 语句等等的使用,当我们基本熟悉该语言基础之后,就要学会其优势方面的程序实践,比如 Golang 所具备的爬虫及其并发优势。我们将采用彩云词典的英文单词翻译成中文的在线词典爬虫程序,及其改进版本,在并发上,我们将采用 SOCKS5 代理服务器的方式体验 Golang 语言的高并发易用性
86 0
猜谜游戏、彩云词典爬虫、SOCKS5代理的 Go(Golang) 小实践,附带全代码解释
|
程序员 Go 开发工具
【第二章:Golang系列篇】Go基础-环境安装、Go程序初体验
【第二章:Golang系列篇】Go基础-环境安装、Go程序初体验
114 0
|
JSON Kubernetes Cloud Native
如何用 Go 实现一个配置包
如何用 Go 实现一个配置包
|
测试技术
loadrunner入门教程(20) --场景创建
对人工场景和面向目标场景的介绍
186 0
loadrunner入门教程(20) --场景创建