标签:0.00 netperf VM Server Client 测试 Azure
《Windows Azure Platform 系列文章目录》
本文介绍如何使用netperf进行PPS (packets per second)压力测试
主要步骤分为一下几点:
1.创建Azure Server VM和Azure Client VM,其中Server VM作为服务器,Client VM对Server发起请求
2.分别在Server VM和Client VM上,都安装netperf
3.在Server VM上启动netserver服务
4.在Client VM上创建压测脚本,并进行压力测试
5.在Server VM上收集日志
具体步骤如下:
1.创建Azure虚拟网络,创建Azure虚拟机,步骤略。
2.选择Azure VM类型为DV5系列,如D4s v5,注意VM的网络设置里,要选择加速网卡
3.分别在Server VM和Client VM上,都安装netperf
yum install gcc make -y yum install sysstat -y mkdir /data cd data wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz tar -zxvf netperf-2.5.0.tar.gz cd netperf-netperf-2.5.0 ./configure make && make install
执行netperf -h和netserver -h命令,确认安装成功
4.在Server VM上启动netserver服务
netserver
5.在Client VM上准备测试脚本,我们生成一个shell文件,叫multi_thread.sh
vi multi_thread.sh
输入下面的内容中,通过使用UDP发起并发请求。
#!/bin/bash host_ip=$1 time_elapsed=$2 thread_count=$3 for i in $(seq 1 $thread_count) { netperf -H $host_ip -t UDP_STREAM -l $time_elapsed -- -m 1 -R 1 & }
6.在Client VM上执行脚本
./multi-thread [ServerVM的内网IP地址] [测试持续时间秒] [测试线程数]
7.在Server VM上执行脚本
下面的脚本中,DEV显示网络接口信息,每1秒钟取1次值,一共执行1100秒。把结果输出到txt文件里
sar -n DEV 1 -t 1100 > 4core_1thread_20minutes.txt
输出结果类似以下信息:
11:02:57 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
11:02:58 AM eth1 15.00 20.00 3.61 5.86 0.00 0.00 0.00 0.00
11:02:58 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:02:58 AM eth0 14.00 19.00 3.35 5.80 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
Average: eth1 5091163.97 5.36 298311.54 1.53 0.00 0.00 0.00 2.44
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 5091163.58 5.05 228705.77 1.51 0.00 0.00 0.00 1.87
其中:
IFACE:网络接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
标签:0.00,netperf,VM,Server,Client,测试,Azure 来源: https://www.cnblogs.com/threestone/p/16462124.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。