指標分析
windows資源指標添加如下:
在controller中運行完畢,打開Analysis查看結果:
報表中的圖展示這幾項最優:
右鍵圖標的幾個選項功能介紹:
選擇篩選器和分組:
選擇不同的分組方式:
設置粒度:
查看度量趨勢:
勾選查看度量趨勢以後,三條線就會重合在一起,而不是homepage的事務和其他事務分開。
查看原始數據:
可以導出xls文件。
合併圖:
單純的從這些合併圖中能看出一些關聯,但是關聯也不是很強。
選中關聯:
X軸是虛擬用戶數,Y軸是每秒點擊次數,隨着虛擬用戶數的增加每秒點擊次數的變化。
自動關聯:
可以拉動紅色或者綠色的橫條選擇統計哪個時間段的數據。
顯示圖如下,直接相關就是說隨着用戶數的增加,指標也會增加。
反相關,是說隨着用戶數的增加,某個指標在下降,比如內存空閒 隨着用戶數的增加,內存空閒越來越小,相反內存使用率越來越高。
一般選擇默認的配置就行。
在設置場景時ramp up和ramp down越慢越好,當然也要平衡好時間
前端性能指標:
1、響應時間
2、響應的吞吐率,每秒中服務器響應的字節大小數,是指傳輸和返回的字節大小數,與服務器帶寬和客戶端帶寬都有關係。
服務器帶寬是用位來表示的,吞吐率除以8,來評估服務器的帶寬。服務器帶寬小的話肯定會影響到吞吐率,同時影響響應時間。
3、TPS:每秒事務數、TPM:每分鐘事務數、TPH:每小時事務數
4、HPS每秒點擊數,作用不太大,取決與虛擬用戶數和響應時間,虛擬用戶數越多點擊數越多,響應時間越快點擊數也會越多。
服務器指標
1、CPU:
1)CPU使用率 %Processor Time
2)處理器隊列長度Processor Queue Length 2*內核數
一般處理器隊列長度是內核數的2倍。
CPU使用率達到100%,但是隊列不長,CPU還是可以繼續處理隊列的;隊列很長,CPU使用率很小,CPU處理任務的速度會很慢。
CPU是有一級緩存、二級緩存、三級緩存的,CPU和一級緩存交換數據,一級緩存和二級緩存交換數據,二級緩存和內存交換數據,緩存越大,CPU和內存交互數據的頻率就會比較低。
2、帶寬:
1)每秒接收的數據量(低於下行帶寬/8)
2)每秒發送的數據量(低於上行帶寬/8)
除以8是因爲帶寬是比特位的單位,數據量是字節的單位,8位=1字節,所以要除以8.
每秒接收的數據量(低於下行帶寬/8)是指從A傳送給B數據量,這個數據量對於B來說要低於B的帶寬/8,要不然B接收不了這麼多數據,同理每秒發送的數據量(低於上行帶寬/8)也是這個道理。
3、內存:
1)內存使用率,可用內存數量(M);
2)內存的頁交換頻率Page/sec,與虛擬內存的交換頻率,越低越好,低就代表還有很多內存可以使用不需要放到虛擬內存中就可以直接使用內存。
因爲內存的存儲單位是頁,所以說是頁交互頻率。
3)緩存
4)虛擬內存:利用一塊硬盤區域模擬內存操作,內存很小,很貴,硬盤便宜,容量大,內存比硬盤貴100倍,內存比硬盤速度快大概100倍。
4、磁盤/IO:
所有的內容都會存到磁盤中,但是要運行時會放到內存中去調用。
1)硬盤使用率
2)硬盤隊列長度
3)硬盤也是有緩存的
交互速度比較:CPU緩存>內存>磁盤>網絡,其中CPU緩存速度會大於內存速度很多。
擴展:
1)系統級性能優化時,重點利用緩存還有數據庫。
2)代碼級性能優化時,SQL語句和算法優化很重要。減少內存用好內存和緩存,減少算法運算次數,運算次數決定了CPU的消耗,內存決定了資源佔用。
線程
線程池是用於管理多線程的一種機制。
線程消耗的是CPU資源,CPU資源是有限的。
服務器端可以設置支持的線程數,但是也不是無限制的可以設置很大,如果設置很大CPU資源肯定會不足,服務隊列會很長。
如果把服務器的某個指標調的很大,這樣數據庫可能也會收到影響,所以不僅僅要考慮服務器的支撐也要考慮數據庫的支撐,要找到一個平衡點,而不是滿足一端的指標就行了。同時也要考慮帶寬等的影響。
補充
1、性能測試分析原則
從錯誤入手、從前端到後端、從裏到外、從硬件到軟件、層層深入,最後通過網絡貫穿。所有的地方本身都可能有問題,他們之間的配合也可能是有問題的。
2、主要性能指標
TPS事務響應時間/吞吐量/吞吐率-衡量服務器處理能力
Hits點擊率/網頁細分-衡量和分析前端頁面處理能力
系統資源-服務器硬件CPU\MEM\DISK\IO等情況
3、Analysis分析
如果事務執行失敗、或者執行時間過長都需要去分析原因。
查看http響應碼非200、300的,如果出現400、500等的錯誤就要去分析是什麼問題。