在進行負載測試(Load Test)是要監控伺服器的CPU、記憶體、磁碟、網路的情況。如何監控Ubuntu的情況呢。
1、安裝rstatd,sudo apt-get install rstatd,如果無法apt安裝,可以下載安裝。
2、啟動rpc.rstatd
查看是否正常啟動,用如下命令
rpcinfo -p
[root@localhost ~]# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 676 status
100024 1 tcp 679 status
100001 3 udp 691 rstatd
100001 2 udp 691 rstatd
100001 1 udp 691 rstatd
3、在LoadRunner Controller的run介面中,添加System Resource Graphs下的Unix Resource,在Unix Resource圖上右鍵Add Measurements,然後點擊Add,填寫ip如192.168.1.99,預設只有三個指標,在下面的Add中可以添加其他指標。
4、下面說一下各種指標的情況
CPU指標
Average load
上一分鐘同時處於“就緒”狀態的平均進程數,< CPU個數 * 核心數 * 0.7
CPU utilization
CPU 的使用時間百分比,如果在75%以上,則可以考慮換CPU了
Swap-in rate
正在交換的進程數
Swap-out rate
正在交換的進程數
Context switches rate
每秒鐘在進程或線程之間的切換次數
System mode CPU utilization
在系統模式下使用 CPU 的時間百分比
User mode CPU utilization
在使用者模式下使用 CPU 的時間百分比
Interrupt rate
每秒內的裝置中斷數
記憶體
Page-in rate
每秒鐘讀入到實體記憶體中的頁數
Page-out rate
每秒鐘寫入分頁檔和從實體記憶體中刪除的頁數
Paging rate
每秒鐘讀入實體記憶體或寫入分頁檔的頁數,如果持續在幾百,可能要加大記憶體了
LoadRunner採集的資料中,記憶體的使用方式是沒有的,可以裝sar,然後用sar來觀察:
可以使用該命令sar -n DEV -u -r 3 120 > perform.log
這個命令3秒採樣一次,共採樣120次 360秒=6分鐘,可以根據自己的需要調整 3 和 120 這兩個值。perform.log是儲存的檔案名稱
磁碟
Collision rate
每秒鐘在乙太網路上檢測到的衝突數
Disk rate
磁碟傳輸速率
網路
Incoming packets error rate
接收乙太網路資料包時每秒鐘接收到的錯誤數
Incoming packets rate
每秒鐘傳入的乙太網路資料包數
Outgoing packets errors rate
發送乙太網路資料包時每秒鐘發送的錯誤數
Outgoing packets rate
每秒鐘傳出的乙太網路資料包數
pps是
乙太網路傳輸最小包長是64位元組。包轉寄線速的衡量標準是以單位時間內發送64byte的資料包(最小包)的個數作為計算基準的。
對於千兆乙太網路來說,計算方法如下:
1000Mbps/((64B+8B+12B)×8bit)=1.488095pps
說明:當乙太網路幀為64Byte時,需考慮8Byte的前置字元和12Byte的幀間隙的固定開銷。
在乙太網路中,每個幀頭都要加上了8個位元組的前置字元,前置字元的作用在於告訴監聽裝置資料將要到來。然後,乙太網路中的每個幀之間都要有幀間隙,即每發完一個幀之後要等待一段時間再發另外一個幀,在乙太網路標準中規定最小是12個位元組,然而幀間隙在實際應用中有可能會比12個位元組要大,在這裡我用了最小值。每個幀都要有20個位元組的固定開銷。(另外這20位元組的資訊是不能通過抓包軟體抓下來的)
因此一個全雙工系統線速的千兆網路連接埠在轉寄64Byte包時的包轉寄率為1.488Mpps。
以下是常用網路連接埠的包轉寄率:
1、萬兆乙太網路:14.88Mpps
2、千兆乙太網路:1.488Mpps
3、百兆乙太網路:0.1488Mpps
4、十兆乙太網路:0.01488Mpps(14.88Kpps)
=======================================
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/marising/archive/2010/01/08/5160210.aspx