2019独角兽企业重金招聘Python工程师标准>>>
服务器带宽测试
iperf测试带宽
wget -c https://codeload.github.com/esnet/iperf/tar.gz/3.1.6
tar zxvf 3.1.6
cd iperf*
yum install gcc
./configure --prefix=/usr/local/iperf
#指定安装路径
make &&make install
#编译安装
ln -s /usr/local/iperf/bin/iperf3 /usr/local/sbin/iperf
#建立软连接
操作实例
服务端(需要测试的主机):
iperf -s -B 115.236.73.xxx
#使用-B参数可以绑定本机上一个ip地址,-P 参数用来指定端口
客户端:
iperf -d -t 600 -P 10 -c 目标主机
#(-d参数同步测量双向带宽-t 参数传输时间10分钟 -P参数 发起10个连接线程 )
跑48M带宽例子:
补充
UDP 模式 (默认tcp模式) 服务器端 iperf -u -s 客户端 iperf -u -c 192.168.1.1 -b 100M -t 60 在udp模式下,以100Mbps为数据发送速率,客户端到服务器192.168.1.1上传带宽测试,测试时间为60秒。 iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60 客户端同时向服务器端发起30个连接线程,以5Mbps为数据发送速率。 iperf -u -c 192.168.1.1 -b 100M -d -t 60 以100M为数据发送速率,进行上下行带宽测试。
speedtest测试带宽
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py && chmod +x speedtest.py && ./speedtest.py
服务器硬盘io测试
dd命令
dd if=/dev/zero of=test bs=8k count=256k conv=fdatasync
#dd命令执行到最后会真正执行一次“同步(sync)”操作,得到的是读取这128M数据到内存并写入到磁盘上所需的时间,比较符合实际推荐使用。
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
#这种方法是最严格的,可以模拟数据库的插入操作,所以很慢
web服务器压测
wrk
git clone https://github.com/wg/wrk
make
# 编译
./wrk -t12 -c400 -d30s http://10.0.1.4
# 测试
Running 30s test @ http://10.0.1.4
12 threads and 400 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 34.31ms 39.50ms 513.77ms 82.26%
Req/Sec 1.62k 474.14 6.51k 74.75%
581189 requests in 30.09s, 129.70MB read
Requests/sec: 19315.33
Transfer/sec: 4.31MB
# Requests/sec,一般称之为QPS(每秒请求数)
ab
yum install -y httpd-tools
ab -c 10 -n 100 http://10.0.1.4/
#其中-n表示请求数,-c表示并发数
jmeter
待整理
LoadRunner
待整理