
且看如何通過性能測試保證高可用?
在國家衛生委員會的公告之后,“返回人民必須在七天內持有核酸證明,并在回家后14天監測他們的家庭健康,每7天核酸試驗”和其他嚴格的疫情預防措施,農民工也停止并選擇了當地春節,今年的春節運輸似乎并不像往年一樣全面。然而,移民工人不閑置,不斷地啃著新浪微博甜瓜之一。鄭爽和張恒事件已經使微博程序員非常繁忙,并立即隨后是網易員工的積極事件。它們正在制備核酸調查和家庭分離。張比辰和華晨宇事件再次將它們推入新的加班浪潮中。這次微博已經崩潰了。程序員加班完成后,它是擴展機器并升級服務的錯誤,微博回到正常,并且吃甜瓜的人可以繼續吃瓜。然而,作為互聯網人,我們需要考慮如何再次避免此類問題。發生?不要等到新年前夜有另一個事件。其他人樂于吃新年前夜晚餐,而互聯網人則仍在工作。這次新浪微博崩潰的原因非常簡單。訪問請求超出了系統負載。大量用戶請求來自同一個第二個用戶請求,服務器為時已晚以回應。請求被炸毀,它崩潰了。修復度量也很簡單,即通過增加服務器的數量,服務器可以處理更多用戶請求。那么如何衡量系統的性能?我們通常使用這三個指示燈,響應時間,并發性和吞吐量來測量系統性能。響應時間是從收到響應時發送請求時的時間。通常,該值非常非常非常小,以微秒或毫秒為單位。正常的網頁請求時間通常在2s內。 2S后,用戶體驗不是很好,超過20多歲,用戶無法忍受并選擇離開,因此響應時間是一個非常重要的指標。并發號是指可以同時處理的用戶請求的數量。吞吐量是指每單位時間可以處理的請求數。它反映了系統的整體處理能力,例如每秒HP的請求數,每秒TPS的事務數以及每秒QP的查詢數。了解系統性能指標后,我們如何找到這些指標的值?非常簡單,它是性能測試,可專門分為負載測試,應力測試和穩定性測試。負載測試是指連續增加對系統的并發請求并增加系統的負載,直到系統指示器達到臨界值。壓力測試意味著當超過系統的安全負載時,壓力繼續增加,直到系統崩潰并且無法處理任何請求,以便獲得系統的最大壓力值。穩定性測試是指在一定壓力下系統的穩定運行時間。通常,完成7 * 24穩定性測試。一般來說,系統大部分時間都處于AB間隔。當發生一些重大事件時,系統請求將增加,從AB間隔到BC間隔,爆炸事件直接將系統的請求增加了大量,從BC變為CD間隔。從圖中,我們還可以看到在CD時,系統可以處理很少的請求,逐漸接近崩潰的邊緣,并在點D處完全折疊。通過性能測試,我們可以找到系統的Point B,C和D,并提前采取對策,例如返回上一頁,或增加服務器數量等。如何進行性能測試?通常,它包含七個部分,
第一步是預準備,第二步是環境建設,第三步是開發測試腳本,第四步是準備測試數據,第五步是執行測試,第六步是分析結果并調整,第七步是反饋跟蹤。在初步準備的第一步中,我們主要了解系統,分析要求,并建立模型。了解系統時,我們主要關注系統架構,開發語言,部署架構,操作系統數據庫中間件參數;在分析要求時,我們注意是否存在預期的負載值,并且測試目標是其中核心進程,處理了多少請求,資源要求和響應時間要求;在構建模型時,主焦點是數據源從數據庫日志或監控系統,系統負載吞吐量和系統壓力分布的峰值周期。在第二步中,設置環境,主要是準備服務器環境和測試機器環境。測試機器用于模擬用戶請求,服務器環境用戶模擬業務環境。在第三步中,開發了測試腳本,主要是通過選擇相應的測試工具(例如LoadRunner或JMeter),使用腳本模擬用戶輸入,增加檢查點和增加數據收集和驗證。第四步是基于第三步生成數據。第五步是開始測試,并不斷施加壓力,以監控業務系統的操作系統,網絡和數據庫的各種指示器,例如CPU內存和磁盤條件,以及發送和接收的數據包數網絡。第六和第七步是根據測試結果分析,并連續調整,測試,分析和反饋,直到獲得最終結果。
on最重要的原因。