AnalyticDB PostgreSQL版支持通過PTS進行性能測試,本文介紹如何通過PTS對AnalyticDB PostgreSQL版實例進行性能測試。
背景信息
性能測試PTS(Performance Testing Service)是一款簡單易用,具備強大的分布式壓測能力的SaaS壓測平臺。PTS支持按需發起百萬并發、千萬TPS流量的壓測任務,100%兼容JMeter,提供場景編排、API調試、流量定制、流量錄制等功能,可快速創建業務壓測腳本,精準模擬不同量級用戶訪問業務系統,幫助業務快速提升系統性能和穩定性。
費用說明
前提條件
- 已開通性能測試PTS服務,具體信息,請參見開通方式。
- 已創建AnalyticDB PostgreSQL版實例,創建方式,請參見創建實例。
本次最佳實踐中使用的實例的資源類型為存儲彈性模式,引擎版本為6.0。
- AnalyticDB PostgreSQL版實例已加載樣本數據庫,加載方式,請參見管理樣本數據集。
樣本數據集的具體信息以及示例查詢語句,請參見數據集信息和示例查詢。
- AnalyticDB PostgreSQL版的白名單已添加PTS所在的網段。
本次示例中,AnalyticDB PostgreSQL版與PTS在同一VPC中,您可以將VPC網段添加至白名單中,設置白名單的操作,請參見設置白名單。
性能測試
OLAP場景壓力測試
- 登錄性能測試PTS控制臺。
- 在左側導航欄中選擇 。
- 在創建場景頁面,單擊PTS壓測。
- 在場景名右側輸入場景名稱。
- 在場景配置頁簽,進行以下配置:
- 單擊施壓配置頁簽,配置壓測模式配置。
參數 說明 壓力來源 選擇PTS的網絡類型,本次示例為阿里云VPC內網。 VPC信息 選擇PTS的VPC、安全組以及vSwitch。 說明- PTS的VPC和vSwitch需要與AnalyticDB PostgreSQL版實例的VPC和vSwitch一致。
- 如需新建安全組,請參見創建安全組。
壓力模式 選擇并發模式(虛擬用戶模式)。 遞增模式 選擇自動遞增。 最大并發 設置為您希望達到的最大并發,本次示例為15。 遞增百分比 每次增加并發時的增幅,本次示例為20%。 單量級持續時長 每個并發數的測試時長,本次示例為20分鐘。 壓測總時長 總測試時長,本次示例為100分鐘。 指定IP數 指定發起壓測流量的IP地址數量,即施壓機器的數量。本次示例為1。 - 為防止正式壓測時由于人為配置錯誤導致壓測失敗,可以單擊場景調試對測試整個串聯鏈路中各個查詢的連通性。如果出現異常,則表示壓測API配置可能出錯,建議檢查并進行修改。
- 場景調試通過后,單擊保存去壓測。
OLAP場景壓測結果
- 在性能測試PTS控制臺左側導航欄中,選擇 。
- 單擊目標PTS測試右側操作列下的查看報告。
- 在報告頁面,您可以查看成功率、平均RT、TPS、異常數和總請求數。說明
- 如果總請求數等信息均為0,表示壓測任務運行失敗,可以單擊頁面上方的查看采樣日志,然后單擊查看詳情,在Error信息中查看報錯信息,進行問題排查。
- 如果成功率不是100%可以在明細頁簽中查看是否有錯誤信息。
- 單擊明細頁簽,可以查看整個測試鏈路中各個API的詳細性能數據。
- 切換到AnalyticDB PostgreSQL版控制臺,查看實例監控中的實例活躍連接數項目,驗證PTS壓測計劃是否生效,查看方法,請參見實例監控。
可以看到實例的活躍連接如預期計劃自動遞增(由3并發逐步增加至15并發)。
點查詢場景壓力測試
- 登錄性能測試PTS控制臺。
- 在左側導航欄中選擇 。
- 在創建場景頁面,單擊PTS壓測。
- 在場景名右側輸入場景名稱。
- 在場景配置頁簽,進行以下配置:
- 單擊施壓配置頁簽,配置壓測模式配置。
參數 說明 壓力來源 選擇PTS的網絡類型,本次示例為阿里云VPC內網。 發起阿里云VPC內網性能測試的更多介紹,請參見如何發起阿里云VPC內網性能測試。
VPC信息 選擇PTS的VPC、安全組以及vSwitch。 說明- PTS的VPC和vSwitch需要與AnalyticDB PostgreSQL版實例的VPC和vSwitch一致。
- 如需新建安全組,請參見創建安全組。
壓力模式 選擇并發模式(虛擬用戶模式)。 遞增模式 選擇自動遞增。 最大并發 設置為您希望達到的最大并發,本次示例為50。 遞增百分比 為保證并發數始終為50,本次示例為100%。 單量級持續時長 為保證并發數始終為50,本次示例為1分鐘。 壓測總時長 總測試時長,本次示例為10分鐘。 指定IP數 指定發起壓測流量的IP地址數量,即施壓機器的數量。本次示例固定為1。 - 為防止正式壓測時由于人為配置錯誤導致壓測失敗,可以單擊場景調試對測試整個串聯鏈路中各個查詢的連通性。如果出現異常,則表示壓測API配置可能出錯,建議檢查并進行修改。
- 場景調試通過后,單擊保存去壓測。
點查詢場景壓測結果
- 在性能測試PTS控制臺左側導航欄中,選擇 。
- 單擊目標PTS測試右側操作列下的查看報告。
- 報告示例如下:
- 切換到AnalyticDB PostgreSQL版控制臺,查看節點監控中CPU使用率項目,查看方法,請參見節點監控。
通過上述信息可以看到計算節點的CPU使用率達到了較高的水位。
- 切換到AnalyticDB PostgreSQL版控制臺,查看實例監控中的實例活躍連接數項目,查看方法,請參見實例監控。
可以看到實例的活躍連接數達到了PTS設置的50并發。
PTS與PGBench的對比
- PTS支持各種類型的數據庫測試,并發可動態調整,發起壓測的機器數量可自由設置,壓測可以不局限于一臺機器。
- PTS支持云內網壓測,無需單獨購買ECS實例作為壓測發起機器。
- PTS配置簡單,無需進行人工腳本書寫,并且支持系統函數。
- PTS支持正式壓測前的場景測試。
- PTS支持多樣化的場景設置,例如超時時間、連接池設置等。
- PTS可提供全面的壓測可視化結果,并詳細記錄了測試過程中的重要數據。