效能測試的主要手段是通過產生模擬真實業務的壓力對被測系統進行加壓,研究被測系統在不同壓力情況下的表現,找出其潛在的瓶頸。
目前,典型的企業it系統的架構為:系統是由客戶端,網路,防火牆,負載均衡器,web伺服器,應用伺服器(中介軟體),資料伺服器等等環節組成。根據木桶原理,即木桶所能裝的水取決於最短的那塊木板,整個系統的效能要得到提高,每個環節的效能都需要優化。因此,我們需要找到最短的那塊木板(系統瓶頸)來,先對其進行優化。
乙個良好的效能測試工具必需能做到以下幾點:
1. 提供產生壓力的手段;2. 能夠對後台系統進行監控;3. 對壓力資料能夠進行分析,快速的找出被測系統的瓶頸。
產生壓力的手段,主要是通過編寫壓力指令碼,這些指令碼以多個程序或執行緒的形式在客戶端進行執行,來模擬多使用者對被測系統的併發訪問,以此來達到產生壓力的目的。壓力指令碼執行的功能和被測系統客戶端軟體執行的功能應該一樣,從而產生真正的業務壓力。編寫壓力指令碼的工作實際上就是重新編寫客戶端軟體。最有效的方式是通過效能測試工具錄製客戶端軟體和伺服器之間的通訊包,自動產生指令碼,然後在自動生成的指令碼的基礎上進行少量修改,如:關聯動態內容,指定批量測試資料等,通常,壓力指令碼的準備往往佔據整個效能測試專案的50%的時間和工作量。
對後台資料的監控。監控應該不在被測系統上安裝任何軟體,即達到「無**」監控。原因有兩個:假若安裝了「**」軟體,它會對被測系統的分析結果產生影響,造成測試結果的不準確性。二,還會對使用者系統的穩定性造成潛在的影響,引起客戶的反感。「無**」方式,即不在被測系統上安裝任何軟體,僅僅通過改變被測系統的配置,就可以對被測系統進行監控。
壓力測試完畢後,我們會得到詳盡的效能資料,包括終端使用者的響應時間,後台系統各個部件的執行資料。由於資料非常龐大,資料分析工具是必要的。它幫助效能測試人員去閱讀,解讀好分析資料,輔助測試人員定位系統的瓶頸。
效能測試工具的組成部分有4個:虛擬使用者指令碼產生器vugen(virtual user generator),壓力排程和監控系統conductor,壓力產生器player,壓力結果分析工具analysis。
進行效能測試專案的一般步驟:
1. 使用者確定需要錄製的交易,通過使用者操作和vugen的錄製,記錄並生成自動化指令碼。
2. 修改指令碼,確保指令碼可以回放成功。
3. conductor是乙個集中控制平台,它和壓力產生器player互連,制定指令碼在player上分配,並控制player向被測系統的加壓方式和行為。
4. conductor同時負責蒐集被測系統的各個環節的效能資料。各個player會記錄終端使用者響應時間和指令碼執行的日記。
5. 壓力執行結束後,player將資料傳送到conductor中,conductor負責資料的彙總。
6.資料分析工具analysis讀取壓力測試資料,進行分析工作,確定瓶頸和調優秀方法。
7. 針對性地進行系統調優,重複壓力測試資料,進行分析工作,確定效能是否得到提高。
好了,這就是今天的收穫了~~~
關於效能測試的測試型別
模擬系統在不同負載條件,系統的各項效能指標是否良好 關注點 首要是最佳使用者數量和最大使用者數量,然後還要關注各項效能指標的值 模擬負載超出了最大值之外的情況,看系統如何崩潰,目的是據此尋找改善使用者體驗的方案 關注點 系統在極限壓力時崩潰的原因 關注點 系統的最大使用者數,資料庫的儲存條目數量,表...
關於效能測試中的併發
不少負載工具在實際的意義中也可以進行壓力測試的分析。其中經常談到併發及集合點的概念。集合點是為了大資料量的指令碼,設定1個集合點,利於指令碼分批量執行,也近似模擬乙個較真實的場景。併發目的引入併發是為了提高資源利用率,從而提高系統效率。併發是1個會受作業系統所影響,是指在單位一定時間內的執行內 物理...
關於效能測試之併發分類
concurrency 併發 併發分為狹義和廣義兩類。狹義的併發,即所有的使用者在同一時刻做同一件事情或操作,這種操作一般針對同一類 型的業務,或者所有使用者進行完全一樣的操作,目的是測試資料庫和程式對併發操作的處理。廣義的併發,即多個使用者對系統發出了請求或者進行了操作,但是這些請求或操作可以 是...