一、首選明確測試內容基於何種協議:
1、性能測試一般多指的服務端測試(也有客戶端的一些性能測試)
2、各種協議的理解,osi七層協議、tcp/ip四層概念層

其中基於UDP協議包括:TFTP、SNMP、NFS、DNS、BOOTP
3、目前來說測試應用層HTTP協議的接口居多
理解協議才能更好的去測試,熟悉每個參數意義比較重要,保證自身測試不出問題
二、借助於測試工具測試:
1、一般工具選擇:
(1)、jmeter
(2)、loadrunner
(3)、其他開源及第三方工具
2、根據需求調試相應的腳本:
(1)、理解自己測試目的:常見的有負載測試、壓力測試、可靠性、穩定性等測試
一般來說:
測試系統的最大承載能力,單個應用節點服務器的承載能力:因為大型項目一般來說都是分布式架構
測試系統是否符合線上業務能力:根據業務量推斷出應該達到的指標,根據pv數/業務處理量 28原則推斷出系統應該達到的TPS
(2)、根據測試目的設計測試策略:
(2.1)采取逐步增壓的方式進行測試,一般正常測試曲線如下圖:

隨着線程數的增加,系統相應時間及TPS會不斷增加,且TPS會達到一定的瓶頸
異常情況:可能剛開始增壓,TPS就降到0,響應時間極大;可能本地壓測環境資源不足等其他情況
具體情況具體分析
(2.2)采取集合點去絕對並發測試,測試系統瞬間承受能力,當然具體內部邏輯需要根據業務需求去設定
3、開始執行測試計划:
具體的需要明確很多東西
測試環境:內網/外網;負載機情況,排除自身資源受限;被測服務器情況
測試數據:大量的測試數據構造,確保數據不會跑到線上
測試策略:工具選型;策略設計;定時執行等
數據監控:服務器各種指標監控
4、分析性能指標:
重要的一些如下:以jmeter為例

(1)、響應時間:客戶端請求到接收請求結束的時間,包含所有網絡傳輸+各種服務器處理的時間
99%的響應時間為:按照時間分布之后,第99%的響應的最大時間
(2)、吞吐量:jmeter的吞吐量及LR的TPS(每秒請求事務數),該指標主要衡量服務器的處理能力
對於QPS、TPS自己理解就好,T事務可以是多個請求,多個Q
(3)、線程數:通過啟動線程數加大壓力,線程數不代表並發數;
並發數:分為系統並發數,接口的絕對並發數,這些看自己測試需求了
(4)、帶寬:Received KB/s,每秒接收的字節大小,具體分析是否帶寬瓶頸
三、服務器系統分析
1、對於被系統架構的認識:一般有反向代理服務器+應用服務器+數據庫服務器+文件服務器等
2、對於接口內部邏輯處理的認識:是否內調其他服務接口,做到整個鏈路的理解
3、Linux系統工具的使用:top、htop、sar、vmstat、nload、pidstat、ifconfig等
4、JDK內置命令的使用:jstat、jmap、jhat、jstack、jps等
5、第三方監控工具使用:Trofile、Jprofile、PinPonit