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的網絡性能,實際測試可以達到官網水平