代码改变世界

Azure 网络性能测试

2018-03-28 15:06 by WangSong技术点滴, ... 阅读, ... 评论, 收藏, 编辑

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入站规则。

  1. yum install -y iperf3
  2. 打开NSG

 

  1. Server端和Client端配置完成,30s,间隔两秒,-P表示几个并发数据流

 

三.              北区同一VNET下,两台VM网络性能测试(CentOS-7.3标准 DS (8 vcpu,28 GB 内存)

  1. 6个并发数据流,带宽4Gbps

 

  1. 32个并发数据流,带宽4Gbps左右,已经打满,北区内网传输

四.              东区两台VM网络性能测试(标准A4,标准A4m_v2,)

  1. 6个并发数据流,带宽2Gbps

 

  1. 32个并发数据流,带宽2Gbps,打满了带宽

 

五.              北区东区各一台VM网络性能测试(北区:CentOS-7.3标准 D4,东区CentOS标准A4

  1. 6个并发数据流,带宽2Gbps左右

 

  1. 32个并发数据流,带宽2Gbps左右,已经打满,东区到北区主干网传输

 

六.              Webbench,wrk,ab测试工具和Nginx服务器的安装

  1. 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已经运行

 

  1. ab安装:yum -y install httpd*,有依赖关系,安装httpd*比较方便
  2. 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

 

  1. 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在可用性集

  1. 配置LB,后面接可用性集

 

  1. 直接访问LB IP,40.125.164.111 ,使用webbench测试,如下是单台VM,15000并发,5s持续访问,136个failed,下图是直接访问LB,没有失败,可以看到对并发访问进行了负载均衡。

./webbench -c 15000 -t 5 http://40.125.164.111/

 

  1. 如下两个图,加大并发量进行测试,2w个并发持续5s,可以看到依然效果很好,没有出现Failed

 

九.              总结

  1. 测试负载压力,需要跟进客户需求进行POC测试,选择不同的工具。
  2. https://docs.azure.cn/zh-cn/virtual-machines/linux/sizes-general,大家参考此网站表明了各个VM的网络性能,实际测试可以达到官网水平