✦ +
大數據性能測試的目的
1.大數據組件的性能回歸,在版本升級的時候,進行新舊版本的性能比對。
2.在新版本/新的生產環境發佈之後獲取性能基線,建立可度量的參考標準,為其他測試場景或者調優過程提供對比參考。
3.在眾多的發行版本中進行測試比對,為PoC測試提供參考數據。
4.支持POC測試,得出結論,到時候可以根據業務模型和需求,或者根據客戶需求選擇不同的方案。
5.在客戶方進行性能測試,達到客戶要求的性能標準滿足客戶使用的需求。
✦ +
性能測試的時機
- 上線新版本
- 上線新的環境/新的主機
- 開闢了新的區域
- PoC 測試
- 性能專項測試
✦ +
性能測試的步驟
明確測試的目標
確定性能測試場景,集群規模和規格,數據量,數據格式,壓縮算法等。
比如:
- 版本迭代測試,需要和歷史版本集群規格和參數對齊,以便比較版本性能是否劣化;
- Poc測試需要明確客戶場景;
- 軟件發行商測試,需要與發行商集群規模保持一致。
申請主機環境和測試周期
搭建運行環境和監控
獲取的性能指標,部分包含:性能數據,比如帶寬、磁盤IO、CPU、內存等指標。
開展測試
測試過程中使用nmon或者其他系統監控的工具記錄系統指標變化,以供發現系統瓶頸,利於後續調優。
針對性能結果進行調整優化
進行迭代性能測試。
出具性能測試報告
✦ +
大數據組件測試工具和方法
除了上述主流的大數據主鍵外還有Hbase等,除了主流的測試工具Hibench之外還有雅虎的大數據測試套件。
✦ +
大數據性能調優
在大數據領域普遍存在數據傾斜的問題,需要參考對應組件的官方文檔以及參考業界的案例介紹。
✦ +
大數據相關的測試
基準測試
單一用戶單個事務的測試,目的是在對選擇的用戶在無壓力的情況下獲取系統處理單個請求的情況。
負載測試
通過逐步增加系統的負載,測試系統性能的變化。
穩定性測試
通過給系統加載一定的業務壓力,運行7*24 小時,以此檢測系統是否穩定運行。
功能測試
特別是在OLAP引擎選擇的時候,需要測試其對標準SQL支持的情況,如部門不支持update和delete操作、不支持with語句、不支持except和intersection操作等。
性能需求
CPU、內存、磁盤IO、網絡負載使用率不超過80%,響應時間90%的讀取、寫入、導出、導入不超過3s,有不到10%的響應時間不超過5s。
測試案例
1.在不同數據量(100G、500G 、1T)分別對Hadoop和spark進行讀取、數據寫入、數據導出 數據導入基準測試。
2.在不同數據量下進行並行和讀寫混合測試。
3.在不同數據量下進行7*24小時的數據穩定性測試。
測試觀察指標
- CPU 使用率
- 內存使用率
- IO
- 網絡
- 響應時間
- 其他指標