學習資源:高性能産品的必由之路——性能測試工具
第1章 背景介紹
1-1 性能測試背景介紹
本章主要介紹了性能測試的産生背景。
- 搭建一個網站容易
- 搭建一個千萬使用者級的網站卻沒那麼容易
- 橫向擴充的能力
- 資料庫的優化
- 盡量讓一台機器能夠承載更多的使用者請求
第2章 性能測試概要
本章主要講解性能測試的相關概念和實際開發中的意義,并闡述了軟體性能的一些關鍵性名額。
2-1 課程簡介
2-2 關于性能的幾個案例分析
- 12306
- 北京奧運會訂票系統
- 淘寶雙11
2-3 性能的關鍵名額介紹
這些案例的共同特點
- 同時又非常多的使用者使用網站服務
- 有的網站當機了
- 有的王章讓世人看到了交易奇迹
什麼是性能測試
- 性能測試就是通過技術的手段模拟大量使用者同時通路被測應用,觀察、記錄和分析系統的各項性能名額的過程。
- 性能測試的目标是評估系統的性能瓶頸,預測系統的最大使用者負載能力。
性能測試的兩個關鍵點
- 模拟大量并發使用者
- 監控系統負載參數分析系統瓶頸
性能名額
- 平均響應時間(TTLB, Time to laster byte)
- 平均每個請求從發送到接收響應的時間
- 合理的平均響應時間
- 2/5/10原則
- 2秒鐘之内:“非常有吸引力”。5秒鐘之内:“比較不錯”。10秒鐘之内:“糟糕”。超過10秒:失敗。
- 平均響應時間的業務影響
性能名額–系統資源類
- CPU
- CPU的占用率
- 記憶體
- 記憶體的占用率,換頁數等
- I/O
- 讀寫請求數、讀寫量等
- 帶寬
- 進站出站帶寬占用率
2-4 為什麼要進行性能測試
- 能夠有效評估系統的性能名額,用于系統的性能評估
- 能夠識别系統的性能瓶頸,協助性能調優
- 能夠指導突發流量承載方案的指定
- 能夠用于系統運維成本的預算
2-5 性能測試分類
- 負載測試(Load Test)
- 為了驗證系統設計符合正常業務負載情況下系統性能表現的測試
- 壓力測試(Stress Test)
- 為了驗證系統在極端負載情況下的性能表現的測試
- 開發人員進行的性能測試更加關注在一定負載情況下各個系統資源的占用率,進而找到記憶體洩漏,連接配接洩露和系統的性能瓶頸。
第3章 性能測試相關工具
本章帶領待解學習使用性能測試的相關工具。
3-1 使用Top擷取程序的資源占用資訊
- top
- 監控每一個程序的資源占用

3-2 性能統計工具sysstat安裝配置
- sysstat
- 統計系統的各種資源占用情況
3-3 sysstat常用指令之CPU監控
3-4 sysstat常用指令之記憶體監控
3-5 sysstat常用指令之IO監控
3-6 sysstat常用指令之NetWork監控
3-7 評估磁盤讀寫性能極限
3-8 JMeter性能測試工具簡介
- JMeter
- Apache組織開發的性能測試工具
- 特性
- Web -HTTP, HTTPS
- SOAP
- FTP
- LDAP
- Message-orientwd middleware (MOM) via JMS
- MongoDB (NoSQL)
- TCP
- Others
第4章 被測系統準備
本章主要帶領大家一起安裝學習待測系統,為後續的性能測試做準備。
4-1 被測系統ECShop介紹
- 一款開源的網上商店系統
- 雖然開源,但是商業應用需要付費
- 商店功能齊全,使用廣泛
4-2 被測系統ECShop安裝
- 略
4-3 被測系統功能簡介
- 略
第5章 使用Jmeter進行性能測試
本章帶領大家從錄制腳本開始使用Jmeter進行系統的性能測試。
5-1 JMeter工作原理
JMeter簡介
- Apache組織開發的性能測試工具
- 用于模拟大量使用者的并發通路
- 最大的優點是完全開源
JMeter基本概念
- JMeter發送請求到應用伺服器
5-2 JMeter下載下傳安裝及其目錄結構說明
- JMeter下載下傳
5-3 JMeter基本功能介紹
5-4 使用Jmeter對性能測試腳本進行錄制和回放
- 自動化的一般方法
- 錄制–>回放