使用windows开发应用的时候需要使用wrk压力测试,发现wrk只能用在类unix系统,所以打算使用虚拟机连通物理机进行压测
连通虚拟机和物理机
首先连通虚拟机和物理机,选择虚拟机的编辑-虚拟网络编辑器
选择NAT模式
看看NAT设置网关Ip有没有设置
查看子网IP、子网掩码,这是默认设置的
对你的操作系统的网络选择NAT模式
登陆系统
输入ifconfig
ens33 后面的inet后面就是这个系统的IP
在windows系统使用cmd命令行
执行ping 192.168.163.128
返回
1 2 3 4 5 6 7 8 9 10
| 正在 Ping 192.168.163.128 具有 32 字节的数据: 来自 192.168.163.128 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.163.128 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.163.128 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.163.128 的回复: 字节=32 时间<1ms TTL=64
192.168.163.128 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 0ms,最长 = 0ms,平均 = 0ms
|
证明能够ping通
安装wrk
首先安装两个工具
1 2 3 4 5
| sudo apt-get install make
sudo apt-get install build-essential
|
然后安装wrk
1 2 3 4 5
| git clone https:
cd wrk && make
|
简单的demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| wrk -t2 -c10 -d15 2 threads and 10 connections Thread Stats Avg Stdev Max +/- Stdev Latency 35.64ms 1.31ms 48.59ms 79.38% Req/Sec 138.40 13.52 151.00 89.00% Latency Distribution 50% 35.50ms 75% 36.13ms 90% 37.09ms 99% 40.33ms 4151 requests in 15.05s, 60.83MB read Socket errors: connect 0, read 29, write 0, timeout 0 Requests/sec: 275.72 Transfer/sec: 4.04MB
|
wrk参数含义
1 2 3 4 5
| -t:需要模拟的线程数 -c:需要模拟的连接数 -d:测试的持续时间 --timeout:超时的时间 --latency:显示延迟统计
|
结果显示的指标
1 2 3 4 5
| Latency:响应时间 Req/Sec:每个线程每秒钟的完成的请求数 Avg:平均 Max:最大 Stdev:标准差
|