標籤:電話 cond 水平 nec .com 定義 成功 browser 效能
一、前言
話說20世紀90年代初的某一天,國內第一台自主研發的大型固話交換器,終於千呼萬喚地“閃亮”登場了。於是乎,這家公司馬上向使用者大力推銷這款裝置,但是使用者提出了一個很實際的問題,徹底難住了這家公司,問題很簡單,就是需要一份效能測試報告來證明這台裝置真能支援宜稱的話務容量那時候還沒有成熟的電信領域效能測試工具,該怎麼辦呢?幸好有聰明的領導想出了一個中國式的解決辦法某天下午,全公司的員工都放下了手頭的工作,每人懷抱一部老式電話機(還要靠轉盤來撥號),等領導倒數“三、二、一”後集體打電話。據說當時人數不夠,達不到使用者要求的通話量,甚至出現了一個人操作兩部電話機的情況。
當今社會“雲端運算”絕對是當前最熱的T詞彙,甚至沾上一點“雲”概念的股票都會一飛衝天。“雲”聽起來很虛幻,其實就是瘦用戶端加格線運算。今後用戶端不再會有大量的計算任務,計算和儲存都被放在雲上。今後的用戶端應該就是一個瀏覽器,使用者的所有操作都是通過瀏覽器來實現的。 Google剛發布的作業系統 Chrome OS,就是基於這一理念設計的。B/S和C/S架構的軟體系統,應該會慢慢演化到 Browser/Coud(瀏覽器/雲)模式。如此看來,在“雲端運算”時代,Web效能測試依然很重要,而且會越來越重要。
二、什麼是效能測試
效能測試是通過自動化的測試載入器類比多種正常峰值及異常負載條件來對系統的各項效能指標進行測試。效能測試的目的是驗證被測系統能否達到使用者提出的效能指標,同時發現被測系統的效能瓶頸,為效能最佳化指引方向,從而達到最佳化系統效能的目的。
效能測試包括以下幾個方面:
■評估系統的能力:測試中得到的負荷和響應時間長度資料可以被用於驗證所計劃的模型的能力,並協助做出決策。
■識別體系中的弱點:受控的負荷可以被增加到一個極端的水平並突破它,從而修複體系的瓶頸或薄弱的地方
■系統調優:重複運行測試,驗證調整系統的活動是否得到了預期的結果,從而改進效能。檢測軟體中的問題:長時間的測試執行可導致程式發生由於記憶體泄露引起的失敗,揭示程式中隱含的問題或衝突。
■驗證穩定性( Resilience)、可靠性( Reliability):在一個生產負荷下執行測試一定的時間是評估系統穩定性和可靠性是否滿足要求的唯一方法。
三、效能測試分類
效能測試包括負載測試、壓力測試和容量測試等。
負載測試( Load Testing):
負載測試是指通過測試系統在資源超負荷情況下的表現,來發現設計上的錯誤或驗證系統的負載能力。在這種測試中,將使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的效能行為,以及持續正常啟動並執行能力。負載測試的目標是確定並確保系統在超出最大預期工作量的情況下仍能正常運行。此外,負載測試還要評估效能特徵,如響應時間長度、交易處理速率和其他與時間相關的效能指標。
壓力測試( Stress Testing):
在軟體工程中,壓力測試是對系統不斷施加壓力的測試,是通過確定一個系統的瓶頸或者不能接收的效能點,來獲得系統能提供的最大服務等級的測試。例如測試一個Web網站在大量的負荷下,何時系統的響應會退化或失敗。
容量測試( Volume Testing):
容量測試確定系統可處理同時線上的最大使用者數。
負載測試和壓力測試都屬於效能測試,兩者可以結合進行。通過負載測試,確定在各種工作負載下系統的效能,目標是當負載逐漸增加時,測試系統各項效能指標的變化情況。壓力測試是通過確定一個系統的瓶頸或者不能接受的效能點,來獲得系統能供的最大服務等級的測試。
四、效能測試指標 對於B/S架構的軟體,一般會關注如下Web伺服器效能指標:
■ Avg Rps:平均每秒鐘的響應次數=總請求次數秒數。Avg time to last byte per terstion( mates):平均每秒業務指令碼的選代次數。
■ Successful Rounds:成功的請求。
■ Failed Rounds:失敗的請求。
■ Successful Hits:成功的點擊次數
■ Failed Hits:失敗的點擊次數。
■ Hits Per Second:每秒點擊次數。
■ Successful Hits Per Second:每秒成功的點擊次數
■ Failed Hits Per Second:每秒失敗的點擊次數。
■ Attempted Connections:嘗試串連數。
■ Throughput:吞吐率 對於C/S架構的程式,由於軟體後台通常為資料庫,所以我們更注重資料庫的測試單位:
■ User Connections:使用者串連數,也就是資料庫的串連數量;
■ Number of Deadlocks:資料庫死結;
■ Butter Cache Hit:資料庫 Cache的命中情況。
五、測試單位折算
測試環境平均並發數=(最大線上人數x10%)n 上式中,n是生產環境和測試環境伺服器配置折算比,例如 n=公倍數
( (生產Web伺服器數/測試web伺服器數),(生產APP伺服器數/測試APP伺服器數)
) ×
(生產伺服器記憶體測試伺服器記憶體
),一般算下來n=4。
六、測試結果分析 毫無疑問,分析效能測試結果非常重要,而且很有難度。可以這麼說,會執行效能測試案例的人是“徒弟”,能夠準確全面分析效能測試結果的人是“師父”。如何分析效能測試結果,後面再深入探討……
七、產生效能測試報告 如何產生一份準確嚴謹的效能測試報告,是一項技巧性的工作。讀者朋友只要遵循一定原則,並掌握一些文字技巧就不難辦到。一份效能測試報告,至少應該包含如下內容:■測試基本資料:包含測試目的、報告目標讀者、術語定義、參考資料。■測試環境描述:包含伺服器軟/硬體環境、網路環境、測試載入器、測試人員。■效能測試案例執行分析:需要詳細描述鋼個測試案例的執行情況,以及對應的測試結果分析。■測試結果綜合分析及建議:對本次效能測試做綜合分析,並給出測試結論和改進建議■測試經驗總結。
效能測試簡介