wrk 压力测试
来源:互联网 发布:.net软件开发工程师 编辑:程序博客网 时间:2024/05/21 19:47
wrk 是一个比较先进的 HTTP 压力测试工具。wrk负载测试时可以运行在一个或者多核CPU,wrk结合了可伸缩的事件通知系统epoll和kqueue等多线程设计思想。目前wrk可以安装在Linux系统和Mac系统。 只有一个命令行, 就能做很多基本的 http 性能测试. ps:只能运行在 Unix 类的系统上. 比如 linux, mac, solaris 等. 也只能在这些系统上编译. wrk 工具进行压力测试非常方便简单,且能满足基本功能。 首先wrk是开源工具,下载 :Git clone https://github.com/wg/wrk.git 如果编译过程中出现: 1. src/wrk.h:11:25: fatal error: openssl/ssl.h: No such file or directory 2. #include <openssl/ssl.h> 是因为系统中没有安装openssl的库. sudo apt-get install libssl-dev 或 sudo yum install openssl-devel 做一个简单压力测试的例子: wrk -t10 -d30s -c400 -T10s --s=post.lua_ips --latency http://10.100.51.3:8993/2016-09-01/domain/GetServiceIpData 下面说下一下各个参数的用处 -t 表示线程数目,(一般线程数不要太多,是核数的2到4倍即可, 因为 wrk 不是使用每个连接一个线程的模型, 而是通过异步网络 io 提升并发量. 所以网络通信不会阻塞线程执行. 这也是 wrk 可以用很少的线程模拟大量网路连接的原因. 而现在很多性能工具并没有采用这种方式, 而是采用提高线程数来实现高并发. 所以并发量一旦设的很高, 测试机自身压力就很大. 测试效果反而下降. (这里我也不是很懂、需要实际工作中再研究研究)); -d表示测试的持续时间,单位默认为1秒(时间越长样本越精确,如果想测试西永的持续抗压能力,采用loadrunner 这样的专业测试工具会更好一点); -c表示连接数; -T表示超时时间,默认一秒; post.lua_ips文件中是写需要测试的服务的鉴权以及所需传的参数: wrk.method = "POST" wrk.body = "foo=bar&baz=quux" wrk.headers["Content-Type"] = "application/x-www-form-urlencoded"`; 想看看响应时间的分布情况可以加上--latency参数: Latency Distribution 50% 522.18ms 75% 1.17s 90% 3.22s 99% 8.87s 后边就是跟的所要测试的服务连接。
这里基本就可以满足基本的使用了,wrk还提供了一些函数封装,详情请参照链接:wrk性能测试
0 0
- wrk网站压力测试
- wrk 压力测试
- wrk 压力测试
- 压力测试工具 wrk
- wrk 工具进行压力测试
- 使用 wrk 进行压力测试
- 使用wrk 进行简易压力测试
- HTTP 压力测试工具 wrk和ab
- 压力测试工具ab,wrk,locust简介
- wrk-服务器压力测试工具的使用(一)
- 性能测试工具wrk
- 简易测试工具wrk
- wrk调用lua测试性能
- WRK
- 性能测试工具 wrk 安装与使用
- 压力测试
- 压力测试
- 压力测试
- c语言 哈夫曼编码
- 蓝桥杯基础练习 回形取数
- 这儿有自学前端开发的吗-
- IPV6 Socket编程
- 深入研究java.lang.ThreadLocal类
- wrk 压力测试
- HOJ cake
- linux系统下的vim编辑器的用法
- 编译新版本spice-gtk
- 226. Invert Binary Tree | 翻转二叉树
- OpenCV on Mac OSX: A step-by-step guide
- dlnd-your-first-neural-network中反向传播的笔记
- oracle简单命令
- 62. Unique Paths -Medium