天天看點

性能測試-概述

概念

性能測試是通過自動化的測試工具模拟多種正常、峰值以及異常負載條件來對系統的各項性能名額進行測試。

簡單的來說就是選擇适合自己系統業務邏輯的方式,用最低的成本、最快的時間來做出最有價值的事情。

分類

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

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

名額

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 :嘗試連結數
  • 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. 運作測試,分析調優

繼續閱讀