linux系统单机性能压测工具Wrk —— 筑梦之路
安装
# 安装编译工具和下载源码
sudo yum groupinstall 'Development Tools'
sudo yum install -y openssl-devel git
git clone https://github.com/wg/wrk.git wrk-4.2.0# 编译
cd wrk-4.2.0
make# 建立软连接
ln -s /data/wrk-4.2.0/wrk /usr/local/bin
使用wrk
使用方法: wrk <选项> <被测HTTP服务的URL>
使用方法: wrk <选项> <被测HTTP服务的URL> Options: -c, --connections <N> 跟服务器建立并保持的TCP连接数量 -d, --duration <T> 压测时间 -t, --threads <N> 使用多少个线程进行压测 -s, --script <S> 指定Lua脚本路径 -H, --header <H> 为每一个HTTP请求添加HTTP头 --latency 在压测结束后,打印延迟统计信息 --timeout <T> 超时时间 -v, --version 打印正在使用的wrk的详细版本信息<N>代表数字参数,支持国际单位 (1k, 1M, 1G)<T>代表时间参数,支持时间单位 (2s, 2m, 2h)简单的压测简单进行一次压测,用10个线程,200个连接,对百度进行30s的压测。以下是对压测结果wrk -t 10 -c 200 -d 30s --latency http://www.baidu.com
# 结果如下:
Running 30s test @ http://www.baidu.comm/
# 30s内测试百度的结果12 threads and 400 connections# 用12个线程 400个连接测试Thread Stats Avg Stdev Max +/- StdevLatency 92.44ms 100.49ms 1.35s 91.97%Req/Sec 431.84 159.53 1.37k 72.45%# 用表格解释Latency Distribution# 响应时间-延迟分布明细50% 64.42ms # 有50%的请求执行时间是在64.42ms内完成75% 87.76ms90% 157.02ms99% 581.42ms # 有99%的请求执行时间是在581.42ms内完成149798 requests in 30.09s, 241.85MB read# 30秒内功处理了 149798 个请求,读取了 241.85MB 的数据Socket errors: connect 0, read 16, write 0, timeout 599# 错误:连接错误:0 读错误:16 写错误:0 超时:599Requests/sec: 4977.65 # QPS 4977.65, 即平均每秒处理请求数为4977.65
Transfer/sec: 8.04MB # 平均每秒读取 8.04M 的数据
压测结果解释:
Thread Stats 统计结果 |
Avg |
Stdev |
Max |
+/- Stdev |
Latency 响应时间-延迟分布 |
92.44ms |
100.49ms |
1.35s |
91.97% |
Req/Sec 每线程每秒完成请求数 |
431.84 |
159.53 |
1.37k |
72.45% |
压测脚本首先需要准备一个 lua 文件,比如名为 test-postapi.lua### 请求方式
wrk.method = "POST"### 设置 请求类型
wrk.headers["Content-Type"] = "application/json"### POST 请求参数
wrk.body = '{"username": "13999999999","username": "13999999999"}'模拟6个线程,600个连接,在60s内,间隔6s 执行 test-postapi.lua 脚本的请求# 进入wrk执行文件目录
./wrk -t6 -c600 -d60s --script=test-postapi.lua --latency http://api.xxxdev.com/enterprise/user/login# --script 参数的值为脚本名
# --latency 参数的值为接口地址
搜集自网络
系统性能的维度
延迟
简单易懂。green:一般指响应时间
95线:P95。平均100%的请求中95%已经响应的时间
99线:P99。平均100%的请求中99%已经响应的时间
平均响应时间:所有请求的平均响应时间
最大响应时间:所有请求中最大的响应时间
吞吐量
简单易懂。green:即每秒处理的请求数量
对于查询搜索类的系统使用每秒处理的请求数(QPS)来衡量吞吐能力
一般对于交易类的系统使用每秒处理的事务数(TPS)来衡量吞吐能力。
TPS:每秒处理的事务数(比如每秒处理的订单数)
QPS:每秒处理的请求数
系统容量
也叫做设计容量,可以理解为硬件配置(内存,cpu什么的),成本约束
linux系统单机性能压测工具Wrk —— 筑梦之路相关推荐
- Linux下性能压测工具WRK,性能测试神器 wrk 使用教程
wrk 是一个类似 ab(apache bench).jmeter 的压力测试工具,底层基于 epoll 和 kqueue 实现,能充分利用 cpu 资源,降低测试工具本身性能开销对测试结果准确性的影 ...
- 性能压测工具:wrk
一般我们压测的时候,需要了解衡量系统性能的一些参数指标,比如. 1.系统性能的维度 1.1 延迟 简单易懂.green:一般指响应时间 95线:P95.平均100%的请求中95%已经响应的时间 99线 ...
- Http压测工具wrk使用指南【转】
用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...
- 性能压测工具选型对比
本文是<Performance Test Together>(简称PTT)系列专题分享的第二期,该专题将从性能压测的设计.实现.执行.监控.问题定位和分析.应用场景等多个纬度对性能压测的全 ...
- Mark - HDFS性能压测工具
引言 Hadoop生态圈的基石有两个,一个是HDFS文件系统,一个是MR编程框架.第一弹中提到应用MR编程框架实现大规模多机联合负载压测场景的方案,则突出了MR的能力,实际上HDFS作为这一切的基础, ...
- HDFS性能压测工具
转载地址:http://www.taobaotest.com/blogs/2517 引言 Hadoop生态圈的基石有两个,一个是HDFS文件系统,一个是MR编程框架.第一弹中提到应用MR编程框架实现大 ...
- 技术丨压测工具wrk和Artillery的比较
本文作者:Linkflow首席架构师 – 王鼎,11年软件研发经验,6年SaaS(基于公有云或私有云),熟悉ERP, CDP, omin渠道销售解决方案.参与SaaS产品的大型开发,成员400余人.在 ...
- 压测工具wrk和Artillery的比较
这两天抽空使用了一下两款压测工具 wrk Artillery 并且通过两款工具对产品的两个环境进行了测试 工具比较 wrk wrk自身性能就非常惊人,使用epoll这种多路复用技术,所以可以用少量的线 ...
- 一款好用的Linux系统服务器性能监控分析工具介绍
软件性能测试过程中经常要对服务器性能指标(比如CPU.内存.磁盘IO及网络IO等等)进行监控以分析出软件在此服务器上的性能瓶颈以便进行后续的服务器调优及软件性能优化.下面为大家介绍一款小编认为比较好用 ...
最新文章
- 在数据库恢复之前将数据库置为单用户模式
- 镜像浏览器_Docker 企业级私有镜像仓库 Harbor 部署
- SAP CDS view自学教程之九:cube view和query view的实现原理
- C#开发笔记之20-如何用C#深克隆一个对象(优雅方案)?
- 聊城市计算机专业,聊城市关于2018年下半年计算机技术与软件专业技术资格(水平)考试考务工作有关问题的通知...
- 代码统计工具有哪几种_DevOps:优秀代码分析工具的自我修养
- pandownload事件_pandownload被执法背后是中国盗版的末路
- 5.0 java集合框架中的接口collection属于_JAVA集合框架 - osc_cyo2dovg的个人空间 - OSCHINA - 中文开源技术交流社区...
- python如何处理inp文件_python 之文件操作
- 在Keil5中创建MM32工程
- 学生信息表 成绩表+12章练习
- 刷题——求斐波那契数列的第n项(迭代)
- 小程序与H5,APP有什么不同-小程序支付开发1
- 走近棒球运动·科罗拉多落基队·MLB棒球创造营
- 【无标题】vue elementPlus表格数据导出Excel
- jenkins忘记管理员密码修改
- 100个基本 自我更新指南
- 基于RFID的定位技术有几种?哪种最成熟?
- 最新网络安全工程师从入门到精通学习_网络安全入门
- 电路习题解答 第一章 1-7、1-8