天天看點

性能測試要點

  • 每台伺服器每秒平均PV量= ( (80%*總PV)/(24*60*60*(9/24)))/伺服器數量,
  • 即每台伺服器每秒平均PV量=2.14*(總PV)/* (24*60*60) /伺服器數量
  • 最高峰的pv量是1.29倍的平均pv值

​​

性能測試要點

​​

性能測試要點

  性能測試政策

  1.模拟生産線真實的硬體環境。

  2.伺服器置于同一機房,最大限度避免網絡問題。

模型将其轉換成性能測試可量化的TPS。

資料分為基礎資料和業務資料兩部分,索引和SQL都會被測試到。

  5.日志等級設定成warn,避免大量列印log對性能測試結果的影響。

  6.屏蔽ESI緩存,模拟最壞的情況。

  7.先單場景,後混合場景,確定每個性能瓶頸都得到調優。

  8.拆分問題,隔離分析,定位性能瓶頸。

  9.根據性能測試通過标準,來判斷被測性能點通過與否。

  10.針對目前無法解決的性能瓶頸,錄入QC域進行跟蹤,并請專家進行風險評估。

 壓力變化模型

性能測試要點

  a點:性能期望值

系統資源處于臨界點

  c點:高于期望,拐點

  d點:超過負載,系統崩潰

  性能測試

  a點到b點之間的系統性能,以性能預期目标為前提,對系統不斷施加壓力,驗證系統在資源可接受範圍内,是否能達到性能預期。

  負載測試

  b點的系統性能,對系統不斷地增加壓力或增加一定壓力下的持續時間,直到系統的某項或多項性能名額達到極限,例如某種資源已經達到飽和狀态等。

  壓力測試

  b點到d點之間,超過安全負載的情況下,對系統不斷施加壓力,是通過确定一個系統的瓶頸或不能接收使用者請求的性能點,來獲得系統能提供的最大服務級别的測試。

  穩定性測試

軟體、網絡環境條件下,給系統加載一定業務壓力,使系統運作一段較長時間,以此檢測系統是否穩定,一般穩定性測試時間為n*12小時。

  監控名額

  性能測試通常需要監控的名額包括:

  1.伺服器Linux(包括CPU、Memory、Load、I/O)。

  2.資料庫:1.Mysql 2.Oracle(緩存命中、索引、單條SQL性能、資料庫線程數、資料池連接配接數)。

日志)。

  4.網絡: 吞吐量、吞吐率。

  5.應用: jvm記憶體、日志、Full GC頻率。

工具(LoadRunner):使用者執行情況、場景狀态、事務響應時間、TPS等。

  7.測試機資源:CPU、Memory、網絡、磁盤空間。

  監控工具

  性能測試通常采用下列工具進行監控:

阿裡巴巴集團自主開發,嵌入到應用代碼中使用。

  2.Jstat。監控java程序GC情況,判斷GC是否正常。

  3.JConsole。監控java記憶體、java CPU使用率、線程執行情況等,需要在JVM參數中進行配置。

  4.JMap。監控java程式是否有記憶體洩漏,需要配合eclipse插件或者MemoryAnalyzer來使用。

  5.JProfiler。全面監控每個節點的CPU使用率、記憶體使用率、響應時間累計值、線程執行情況等,需要在JVM參數中進行配置。

  6.Nmon。全面監控linux系統資源使用情況,包括CPU、記憶體、I/O等,可獨立于應用監控。

  7.Valgrind。監控C/C++程式是否存在記憶體洩漏,基于linux環境。

  8.Vmmap和ApplicationVerifier。監控C/C++程式是否存在記憶體洩漏,基于windows環境。

  性能分析

  可按以下順序:

  中間件瓶頸(apache/jboss參數配置、資料庫參數配置)->

  應用服務的debug log ->

  應用服務的filter log ->

  本應用的性能瓶頸(SQL語句、索引、業務邏輯、線程池設定、算法)->

  服務提供者的性能瓶頸 ->

  相關聯的底層存儲應用的性能瓶頸

  分析标準

  通過性能名額的表現形式,分析性能是否穩定。比如:

  1.響應時間是否符合性能預期,表現是否穩定。

  2.應用日志中,逾時的機率,是否在可接受的範圍之内。

  3.TPS維持在多大的範圍内,是否有波形出現,标準差有多少,是否符合預期。

  4.伺服器CPU、記憶體、load是否在合理的範圍内,等等。

  分析工具

  對于部分性能名額,可借助自動分析工具,統計出資料的總體趨勢:

  1.LoadRunner analysis

  LoadRunner analysis是loadrunner的一個部件,用于将運作過程中所采集到的資料生成報表,主要用于采集TPS、響應時間、伺服器資源使用情況等變化趨勢。

  2.Memory Analyzer

  Memory Analyzer工具可以解析Jmap dump出來的記憶體資訊,查找是否有記憶體洩漏。

  3.nmon_analyser

繼續閱讀