网友回复
一、wrk
wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产生大量的负载。
wrk 的优势:
轻量级性能测试工具;
安装简单(相对 Apache ab 来说);
学习曲线基本为零,几分钟就能学会咋用了;
基于系统自带的高性能 I/O 机制,如 epoll, kqueue, 利用异步的事件驱动框架,通过很少的线程就可以压出很大的并发量;
支持lua脚本
wrk 的劣势
wrk 目前仅支持单机压测,后续也不太可能支持多机器对目标机压测,因为它本身的定位,并不是用来取代 JMeter, LoadRunner 等专业的测试工具,wrk 提供的功能,对我们后端开发人员来说,应付日常接口性能验证还是比较友好的。
centos安装
依次执行如下命令:
yum install git -y git clone https://github.com/wg/wrk.git wrk yum install unzip -y yum install gcc -y make cp wrk /usr/local/bin/
使用方式:
$./wrk -c 100 -d 10 http://domain/path
其中,参数「c」表示的是并发,参数「d」表示的是整个测试持续的时间。此外,可以通过参数「t」来控制线程数(缺省值为 2),实际使用中可以视情况酌情增大。
示例,开2个线程,建立6个连接,持续请求百度5s
wrk -t 2 -c 6 -d 5s https://www.baidu.com Running 5s test @ https://www.baidu.com 2 threads and 6 connections Thread Stats Avg Stdev Max +/- Stdev Latency 15.97ms 3.58ms 36.06ms 86.53% Req/Sec 185.96 21.39 220.00 82.00% 1862 requests in 5.03s, 27.90MB read Socket errors: connect 0, read 3, write 0, timeout 0 Requests/sec: 369.85 Transfer/sec: 5.54MB使用脚本发送表单请求
# post.lua wrk.method = "POST" wrk.body = "login=sammy&password=test" wrk.headers["Content-Type"] = "appl...
点击查看剩余70%
python如何实现torrent的服务端进行文件分发p2p下载?
如何在浏览器中录制摄像头和麦克风数据为mp4视频保存下载本地?
go如何编写一个类似docker的linux的虚拟容器?
python如何写一个bittorrent的种子下载客户端?
ai能通过看一个网页的交互过程视频自主模仿复制网页编写代码吗?
ai先写功能代码通过chrome mcp来进行测试功能最后ai美化页面这个流程能行吗?
vue在手机端上下拖拽元素的时候如何禁止父元素及body的滚动导致无法拖拽完成?
使用tailwindcss如何去掉响应式自适应?
有没有直接在浏览器中运行的离线linux系统?
nginx如何保留post或get数据进行url重定向?