性能測試-概述


概念

性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。
簡單的來說就是選擇適合自己系統業務邏輯的方式,用最低的成本、最快的時間來做出最有價值的事情。

分類

根據不同的測試目的,在具體的測試執行中又有所側重和區分,詳細可分為:壓力測試、容量測試、極限測試、基准測試

  • 壓力測試:評估系統處於或超過預期負載時系統的運行情況。壓力測試的關注點在於系統在峰值負載或超出最大載荷情況下的處理能力。在壓力級別逐漸增加時,系統性能應該按照預期緩慢下降,但是不應該崩潰。壓力測試還可以發現系統崩潰的臨界點,從而發現系統中的薄弱環節。
  • 容量測試:確定系統可處理同時在線的最大用戶數,使系統承受超額的數據容量來發現它是否能夠正確處理。
  • 極限測試:在過量用戶下的負載測試。
  • 基准測試:比較新的或未知測試對象與已知參照標准(如現有軟件或評測標准)的性能。

指標

Web服務器指標指標:

  • Avg Rps: 平均每秒鍾響應次數=總請求時間 / 秒數
  • Avg time to last byte per terstion (mstes):平均每秒業務腳本的迭代次數,有人會把這兩者混淆
  • Successful Rounds:成功的請求
  • Failed Rounds :失敗的請求
  • Successful Hits :成功的點擊次數
  • Failed Hits :失敗的點擊次數
  • Hits Per Second :每秒點擊次數
  • Successful Hits Per Second :每秒成功的點擊次數
  • Failed Hits Per Second :每秒失敗的點擊次數
  • Attempted Connections :嘗試鏈接數


CS結構程序,由於一般軟件后台通常為數據庫,所以我們更注重數據庫的測試指標:

  • User 0 Connections :用戶連接數,也就是數據庫的連接數量
  • Number of deadlocks:數據庫死鎖
  • Buffer Cache hit :數據庫Cache的命中情況


原則

  • 對於不同的系統,性能關注點是有所區別的,應該具體問題具體分析。
  • 情況許可時,應使用幾種測試工具或手段分別獨立進行測試,並將結果相互印證,避免單一工具或測試手段自身缺陷影響結果的准確性。
  • 了解“有限的資源,無限的需求”。
  • 盡可能在開始前明確調優工作的終止標准。
  • 調優過程中應仔細進行記錄,保留每一步的操作內容及結果,以便比較分析。

工具

  1. Web Bench:是一個簡單的web或者web代理服務的基准測試工具。(它)使用fork()模擬多個客戶端並且可以發起HTTP/0/9-HTTP/1.1的請求
  2. Apache JMeter:是一個專門為運行和服務器裝載測試而設計的、100%的純Java桌面運行程序。原先它是為Web/HTTP測試而設計的,但是它已經擴展以支持各種各樣的測試模塊。它和用於HTTP和SQL數據庫(使用JDBC)的模塊一起運送。它可以用來測試靜止資料庫或者活動資料庫中的服務器的運行情況,可以用來模擬對服務器或者網絡系統加以重負荷以測試它的抵抗力,或者用來分析不同負荷類型下的所有運行情況。它也提供了一個可替換的界面用來定制數據顯示,測試同步及測試的創建和執行。
  3. Web Polygraph:是一個用於測試WEB性能的工具,這個工具是很多公司的標准測試工具,包括微軟在分析其軟件性能的時候,也是使用這個工具做為基准工具的。
  4. LoadRunner: 是一種預測系統行為和性能的工業標准級負載測試工具。通過以模擬上千萬用戶實施並發負載及實時性能監測的方式來確認和查找問題,LoadRunner 能夠對整個企業架構進行測試。通過使用LoadRunner , 企業能最大限度地縮短測試時間, 優化性能和加速應用系統的發布周期。企業的網絡應用環境都必須支持大量用戶,網絡體系架構中含各類應用環境且由不同供應商提供軟件和硬件產品。難以預知的用戶負載和愈來愈復雜的應用環境使公司時時擔心會發生用戶響應速度過慢, 系統崩潰等問題。這些都不可避免地導致公司收益的損失。Mercury Interactive 的 LoadRunner 能讓企業保護自己的收入來源, 無需購置額外硬件而最大限度地利用現有的IT 資源, 並確保終端用戶在應用系統的各個環節中對其測試應用的質量, 可靠性和可擴展性都有良好的評價。LoadRunner 是一種適用於各種體系架構的自動負載測試工具, 它能預測系統行為並優化系統性能。LoadRunner 的測試對象是整個企業的系統, 它通過模擬實際用戶的操作行為和實行實時性能監測, 來幫助您更快的查找和發現問題。此外,LoadRunner 能支持廣范的協議和技術, 為您的特殊環境提供特殊的解決方案。

步驟

由於工程和項目的不同,所選用的度量,評估方法也有不同之處。不過對於性能測試有一些通用的步驟。

  1. 分析系統
  2. 創建測試模型,通常是從生產環境中的數據中統計。
  3. 測試方案
  4. 制定評估標准
  5. 選則相關技術和工具
  6. 設計性能測試場景,也就是測試用例
  7. 輸出報告
  8. 運行測試,分析調優

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM