Azure 网络性能测试
本文介绍分为以下几个部分:
l Azure网络知识点梳理
l Iperf3测试工具安装
l 北区同一VNET下,两台VM网络性能测试(CentOS-7.3标准 DS (8 vcpu,28 GB 内存))
l 北区东区各一台VM网络性能测试(北区:CentOS-7.3标准 D4,东区CentOS标准A4)
l Webbench,wrk,ab测试工具和Nginx服务器的安装
l 单台VM web server压测
l LB+两台 web server 压测
l 总结
一. Azure网络知识点梳理
带宽性能也是POC中老生常谈的话题,本地到云端,北京到上海,北京区域的带宽性能都是客户评测的标准,同时也会压测web server的性能,本文为大家详细介绍下,Azure上的网络测试。
网络带宽是衡量两个网络节点之间通信性能的重要的指标之一。在评估云服务的时候,要充分考虑网络带宽对所承载的网路服务的影响。若已经部署的网络服务出现了故障,有时候可以考虑从网络实时带宽的角度来进行故障排查。
二. Iperf3测试工具安装
iPerf 在工作时,测试的两端一方作为 Server,另一方为 Client。程序启动的命令相同,通过不同的参数来区别以哪种工作方式运行。通常情况下先启动 Server 端,使 iPerf 监听在某个固定端口。然后在 Client 端执行相应的命令开始测试。Client端和Server端都需要装iperf3,同时放开所有NSG入站规则。
- yum install -y iperf3
- 打开NSG
- Server端和Client端配置完成,30s,间隔两秒,-P表示几个并发数据流
三. 北区同一VNET下,两台VM网络性能测试(CentOS-7.3标准 DS (8 vcpu,28 GB 内存))
- 6个并发数据流,带宽4Gbps
- 32个并发数据流,带宽4Gbps左右,已经打满,北区内网传输
四. 东区两台VM网络性能测试(标准A4,标准A4m_v2,)
- 6个并发数据流,带宽2Gbps
- 32个并发数据流,带宽2Gbps,打满了带宽
五. 北区东区各一台VM网络性能测试(北区:CentOS-7.3标准 D4,东区CentOS标准A4)
- 6个并发数据流,带宽2Gbps左右
- 32个并发数据流,带宽2Gbps左右,已经打满,东区到北区主干网传输
六. Webbench,wrk,ab测试工具和Nginx服务器的安装
- Nginx服务器安装
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
cd /usr/local/src/ --------一定要注意切换到这个目录
PCRE 作用是让 Nginx 支持 Rewrite 功能,需要安装pcre
wget https://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz/download
tar zxvf download
cd pcre-8.41
./configure
make & make install
wget http://nginx.org/download/nginx-1.12.2.tar.gz
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.41
make & make install
/usr/sbin/groupadd abc
/usr/sbin/useradd -g abc abc
cat /usr/local/webserver/nginx/conf/nginx.conf
然后把配置文件中的worker_processes 改为对应的核数,两台机器中都改为了8;
/usr/local/webserver/nginx/sbin/nginx -t ----检查配置文件是否正确
/usr/local/webserver/nginx/sbin/nginx ----启动linux,然后浏览器输入IP就可以显示Nginx界面,服务中也可查询到Nginx已经运行
- ab安装:yum -y install httpd*,有依赖关系,安装httpd*比较方便
- webbench 安装:Webbench是有名的网站压力测试工具,它由Lionbrdge公司开发,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况,最大可达到3w并发访问;
wget http://home.tiscali.cz/cz210552/distfiles/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install
- wrk 安装:wrk 是一个很简单的 http 性能测试工具. 也可以叫做 http benchmark 工具. 只有一个命令行, 就能做很多基本的 http 性能测试.
git clone https://github.com/wg/wrk.git
cd wrk
make
make install
七. 单台VM web server压测
以ab作为测试工具,对分别对并发数和连接数进行压力测试,获取在各种压力指标下的响应时间。-n 执行的请求数量,-c 并发请求个数
ab -c 1000 -n 10000 http://40.125.209.247/
并发数 | 连接数 | Error | 平均每秒处理的连接数 | 平均每个连接数的响应时间(ms) |
1000 | 10000 | 0 | 9682.04 | 0.103 |
1000 | 50000 | 0 | 10293.32 | 0.097 |
1000 | 100000 | 0 | 10969.67 | 0.091 |
1000 | 200000 | 0 | 11226.57 | 0.089 |
八. LB+两台 web server 压测,两台D4在可用性集
- 配置LB,后面接可用性集
- 直接访问LB IP,40.125.164.111 ,使用webbench测试,如下是单台VM,15000并发,5s持续访问,136个failed,下图是直接访问LB,没有失败,可以看到对并发访问进行了负载均衡。
./webbench -c 15000 -t 5 http://40.125.164.111/
- 如下两个图,加大并发量进行测试,2w个并发持续5s,可以看到依然效果很好,没有出现Failed
九. 总结
- 测试负载压力,需要跟进客户需求进行POC测试,选择不同的工具。
- https://docs.azure.cn/zh-cn/virtual-machines/linux/sizes-general,大家参考此网站表明了各个VM的网络性能,实际测试可以达到官网水平