网络性能测试是评估和测量计算机网络性能的过程,对于确保网络的有效运行和提供良好用户体验非常重要。网络性能测试可以实现以下目标:
性能评估: 网络性能测试可以帮助评估网络的整体性能。通过测量网络的带宽、延迟、丢包率等指标,可以了解网络在不同条件下的表现。
问题诊断: 当网络出现问题时,性能测试可以帮助识别和定位问题的根本原因。通过监测网络性能,可以迅速发现并解决潜在的故障或瓶颈。
容量规划: 对网络进行性能测试有助于进行容量规划。通过了解网络当前的负载和性能水平,可以预测未来的需求并相应地扩展或优化网络基础设施。
用户体验优化: 网络性能直接影响用户体验。通过定期进行性能测试,可以确保网络能够满足用户对速度和可靠性的期望,提高用户满意度。
安全性: 在网络安全方面,性能测试也起着重要的作用。它可以帮助识别潜在的安全漏洞和网络攻击,确保网络在安全方面的强固性。
优化资源利用: 通过性能测试,可以识别网络中存在的不必要的资源浪费或低效率操作。这有助于优化资源利用,提高网络的效率。
满足服务级别协议(SLA): 对于许多组织来说,满足服务级别协议是至关重要的。性能测试可以确保网络在合同规定的性能水平上运行,避免违反SLA。
支持新技术的实施: 在引入新技术或更新网络基础设施时,性能测试可以帮助确保新系统与现有系统兼容,并在不影响性能的情况下逐步实施。
在性能测试中,网络性能测试通常有以下指标:
网络带宽:表示系统传输数据的速率,通常以每秒钟传输的数据量(bps)来衡量。
网络收发包PPS:云服务器每秒最多可以处理的网络数据包数量,单位是PPS,PPS即packets per second每秒发包数量。
针对云平台整体的网络性能指标测试,首先在底层宿主机物理服务器上进行测试,然后在云主机上执行同样的测试命令,进行数据对比记录,然后得出两者之间的性能差异比。
1、测试宿主机网络带宽及PPS。使用iperf测试工具,通过增加打流对数的方式测试,过程中使用监控工具观察记录宿主机带宽及PPS监控指标,如果监控发现带宽及PPS不在上涨,则记录当前数值为宿主机网络性能上限。
2、测试单台云主机带宽及PPS。采用1(服务端)对多(客户端)打流方式,通过增加打流对数的方式测试,过程中使用监控工具观察记录云主机带宽及PPS监控指标,如果监控发现带宽及PPS不在上涨,则记录为云主机网络性能上限。
3、测试所用工具
1)iperf---网络性能测试工具
iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。
2) sar--网络性能监控工具
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。
监控网络可使用 sar -n DEV
1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001
2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -P 16
3)以上两步完成后,记为一组数据;.增加测试组数,每组测试较上一组增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到所有iperf带宽总和不在增加,则停止测试
4)测试记录
每组测试,记录被测物理服务器每对iperf带宽测试结果,计算总和;
每组测试,记录被测物理服务器sar带宽监控数据,计算带宽平均值;
1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001
2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> \ -u -p 10001 -i 1 -t 300 -b 0 -P 16 -l 16 -A 0
3)以上两步完成后,记为一组数据;增加测试组数,每组测试较上一组增加1对iperf打流(需要替换端口号及CPU编号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被测物理服务器sar监控PPS不在增加,则停止测试
4)测试记录
每组测试,记录被测物理服务器每对iperf接收端的PPS测试结果,计算总和;
每组测试,记录被测物理服务器sar的PPS监控数据,计算PPS平均值;
1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001
2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -P 16
3)以上两步完成后,记为一组数据;.增加测试组数,每组测试较上一组虚机增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被测虚机sar监控带宽不在增加,则停止测试
4)测试记录
每组测试,记录被测云主机每对iperf带宽测试结果,计算总和;
每组测试,记录被测云主机sar带宽监控数据,计算带宽平均值;
1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001
2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -A 16
3)以上两步完成后,记为一组数据;增加测试组数,每组测试较上一组虚机增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被监测云主机sar监控PPS不在增加,则停止测试
4)测试记录
每组测试,记录被测云主机iperf的PPS结果,计算总和
每组测试,记录被测云主机sar的PPS监控数据,计算PPS平均值;;