京寵展信息指南
1328
2022-05-29
本文介紹性能測試相關知識,列出了常用的http性能測試工具,介紹Nginx,然后通過測試工具之一wrk對Nginx進行性能測試。
性能測試介紹
1、? 什么是性能測試
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的性能,目標是測試當負載逐漸增加時,系統各項性能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接受的性能點,來獲得系統能提供的最大服務級別的測試。
2、? 性能測試的目標是什么
性能測試最終的目的,是找到系統的瓶頸,一般來說,是找到服務單機最大TPS(每秒完成的事務數)。需要注意的是,服務的TPS需要結合請求平均耗時來綜合考慮。例如:服務TPS壓到1000,平均請求耗時500ms,但是假如我們定的服務請求耗時不能超過200ms,那么這個1000的TPS是無效的。
很多場景下,服務都會設置超時時間,若平均耗時超過此超時時間,則可認為服務處于不可用狀態。
常見的http性能測試工具
httpload、wrk、apache bench
工具
優點
缺點
httpload
簡單易用
壓測結果指標較少
wrk
簡單易用,異步IO模型,能壓到非常高的并發
apache bench
簡單易用
通過優缺點介紹,我們看到wrk更勝一籌,下面我們采用wrk,對Tomcat進行性能測試。
Nginx介紹
Nginx是一款輕量級的Web?服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在BSD-like 協議下發行。其特點是占有內存少,并發能力強,事實上nginx的并發能力在同類型的網頁服務器中表現較好
利用wrk對Nginx進行壓力測試
1、? 安裝準備
華為云購買一臺鯤鵬服務器(wrk和Nginx部署在同一臺鯤鵬服務器上,當然也可以部署在不同的服務器上)
本文以云服務器KC1實例搭建,云服務器配置如表1-1所示。
表1-1?云服務器配置
項目
說明
規格
kc1.large.2 | 2vCPUs | 4GB
磁盤
系統盤:高IO(40GB)
操作系統要求如表1-2所示。
表1-2?操作系統要求
項目
說明
-
CentOS
7.6
在公共鏡像中已提供。
Kernel
4.14.0-115
在公共鏡像中已提供。
2、? 部署Nginx
鯤鵬社區軟件棧已經有部署文檔,請參考
https://www.huaweicloud.com/kunpeng/software/nginx.html
3、? 部署wrk
鯤鵬社區軟件棧已經有部署文檔,請參考
https://www.huaweicloud.com/kunpeng/software/wrk.html
4、? 性能測試:
終端輸入如下命令:
wrk -t12 -c100 -d30s http://127.0.0.1 或者
wrk -t12 -c100 -d30s http://云服務器公網IP
說明:
模擬12個線程、100次連接、壓力測試持續10秒,測試“http://127.0.0.1”
頁面的性能,端口默認80,可不寫,wrk對本地安裝的Nginx進行性能測試。
返回結果:
結果說明:
Avg ?Stdev ????? Max ??????? +/- Stdev
(平均值) (標準差)(最大值)(正負一個標準差所占比例)
Latency:延遲
Req/Sec:處理中的請求數
1011584 requests in 30.04s, 819.97MB read (30.01秒內共處理完成了514174個請求,讀取了819.97MB數據)
Requests/sec: 33676.74 (平均每秒處理完成33676.74個請求)
Transfer/sec: 27.30MB (平均每秒讀取數據27.30MB)
鯤鵬 Nginx
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。