1.2.1 基線容量測試
全鏈路壓測需要在生產環境中實施,才能避免環境差異造成的壓測結果失真。但在生產環境中進行壓測也會帶來額外風險,因此,在實施全鏈路壓測時,我們需要對系統進行數據隔離,并輔以各種技術改造工作和監控工作。在不具備這些能力之前,有一種方法可以讓我們在測試環境中以較低的成本先“定性”地識別出系統可能存在的容量隱患,這種方法稱為基線容量測試。
基線容量測試的具體做法是,按照與生產環境相同的部署方式搭建一套測試環境(以下簡稱基線環境),其中涵蓋必需的中間件和網絡設施,資源規模可以按生產環境的規模等比例減少。之后,將各服務的主干版本部署到基線環境上,通過壓測的方式獲取系統的容量指標并記錄備案,這些指標稱為“基線指標”。
首先,我們假定基線指標是符合系統的容量要求的,當系統服務準備發布新版本時,我們就可以在基線環境上部署這個新版本,以相同的標準進行壓測。然后,將結果指標與基線指標進行對比,如果某些關鍵指標出現大幅異動,如響應時間大幅增加、CPU利用率大幅增加等,就需要技術人員介入以排查系統的風險。
基線容量測試可以在一定程度上提前發現系統潛在的容量隱患,但是由于基線環境與生產環境不完全對等,因此,我們既無法對服務容量進行定量評估,也無法為限流設置、超時設置等容量治理工作提供參考。