天天看點

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

最近在阿裡雲搭了一個部落格,用阿裡雲提供的PTS對網站做了一下壓測,現在把壓測的步驟分享出來,有類似做網站或外貿電商的也可以參考下(産品部署步驟省略,隻有壓測和性能分析)。

所用雲産品如下(長期使用選擇包年可享受一定官網優惠):

雲産品(華北5) 規格
RDS(MySQL5.6高可用) 1C2G
SSL 免費證書
CDN 按量
OSS
雲監控 免費版
PTS 新使用者體驗版

一、确定要測試的頁面和通路流程

本次要測試的是網站首頁和打開第一條産品頁的通路速度,如下所示首頁:

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

詳情頁:

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

二、進入PTS管理控制台

1、添加場景

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

2、添加被測URL

我們是模拟使用者通路首頁後,再進入到詳情頁,是以要添加兩個URL(如果有多個頁面,可以按通路頁面先後順序進行添加)

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

3、選擇施壓配置

選擇施壓配置,本次選擇的是“并發模式”

  • 并發模式:是指虛拟并發使用者數,從業務角度,也可以了解為同時線上的使用者數。
  • RPS模式:(Requests Per Second)是指每秒請求數。從服務端的角度出發,直接衡量系統的吞吐能力,免去并發到 RPS 的繁瑣轉化,一步到位。

具體差別可參考官方文檔:

https://help.aliyun.com/document_detail/70480.html

在這裡,我們設定最大并發為100,遞增百分比為預設,持續時長為5分鐘,考慮到首頁通路人數可能會多于詳情頁,故設定“最大并發權重”為50和30,儲存配置。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

4、調試場景、儲存去壓測

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

可根據業務通路情況,在晚上或業務低峰時進行壓測。

5、生成測試任務

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

6、開始壓測,壓測完成會生成壓測報告。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

三、雲監控篇

壓測開始後,到雲監控看資源的使用狀态,我主要關心的是CPU、記憶體和網絡.

在主機監控中找到我們壓測的ECS

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

壓測開始後,我們可以看到CPU和系統平均負責都呈上升趨勢。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

在同一個頁面繼續往下拉,我們可以看到網絡和TCP連接配接數都呈上升趨勢。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

剛才通路了一下網站,雖然CPU跑到100%,但網站還是以能正常通路的。

四、資料庫篇

還好當時把資料庫單獨放在RDS中,如果資料庫和網站都放在一台伺服器上,CPU跑到100%後,我估計業務就直接崩潰了。

在CloudDBA“性能趨勢”處,和雲監控看到的ECS的資源類似的,TPS/QPS連接配接數都呈上升趨勢。

CloudDBA官方文檔:

https://help.aliyun.com/document_detail/96125.html
使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

“實時性能”看到QPS、連接配接數和網絡流量都維持在較高的水位線

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

“會話管理”可以看到目前資料庫的程序ID,哪些處于活動、睡眠狀态

當有大量sleep或者異常使用者、來源通路時可以直接在這裡進行展示。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束
使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

如果發現查詢變慢,而ECS的CPU占用率不高時,我們可以在“智能優化”中看下檢視RDS系統的負載,發現是哪些SQL導緻查詢時間過長,哪些SQL執行次數最多(執行次數較多、時間長的可以考慮添加索引),也可以把SQL語句拿到CloudDBA進行試跑,從中發現需要優化的地方。

下載下傳診斷報告:

https://help.aliyun.com/document_detail/96129.html

五、壓測結束

我們可以看到高資源占用情況馬上就好轉了。

使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

此時我們肯定想看下壓測這麼久,結果到底怎麼樣了,如果項目有測評要求,可以将報告下載下傳下來優化調優,如果隻是像我一樣做下大概了解,心裡有數,則可直接線上檢視。

壓測報告:

https://help.aliyun.com/document_detail/65304.html
使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束
使用PTS對網站進行壓測一、确定要測試的頁面和通路流程二、進入PTS管理控制台三、雲監控篇四、資料庫篇五、壓測結束

我們可以看到用了ECS和RDS做業務分離後,雖然CPU資源占用較高,但請求傳回都是200(200為正常,其它為異常)。