一個網站管理員,日常的工作除了基本的維護服務正常運作外,另外一個重要的工作就是要保持順暢的服務,負責調校網站的效能,使其保持在最佳的狀態。網站伺服器如果使用的是Apache,將因為在開源碼社群中有許多可用的免費外掛模組,而可以外掛的方式來增加Apache伺服器的用途。但是,凡事有利就有弊,多增加一個模組,相對地就會多消耗資源來處理而影響服務的順暢度,此時就必須有一個適當的工具來客觀公正地測量效能表現。
在執行成功之後,會產生如下的回覆報告,如圖1所示。
|
▲圖1 成功執行後產生回覆報告。 |
接著,說明httpref報告各部分的代表意義:
1. 測試的整體數據,包含所建立的TCP連線總數
目,所測試的HTTP要求(request)總數目,以及得到HTTP回覆(reply)的總數目,如下即表示總共在25秒內(test-duration)建立了5,000個連線(connection)及5,000個要求,並收到受測網站伺服器回覆(replies)5,000個要求。
2. 個別TCP的連接數據,包含每秒發送多少個連線
和幾個連線以下,會用同時發送的方式發送到受測的網站伺服器上,以下就是表示每秒鐘產生199個連線數,而且最多會同時送出17個連線數至受測的網站伺服器上。
3. 每個連線所使用的存活週期(指的是從初始化產
生至整個連線數結束為止,單位為毫秒)統計,包含最少時間、最大時間、平均時間等等,以下例子表示連線的存活週期最小(min)用了25毫秒,最長用了99毫秒,平均(avg)花費40毫秒,其存活週期的中位數時間為36毫秒,標準差時間用了11毫秒。
4. 成功與受測的網站伺服器建立TCP連接所使用的平
均時間(單位為毫秒),以下範例顯示平均時間為0.2毫秒。
5. 顯示網站伺服器回覆的連線(connection)數與
測試程式送出的連線數間的比值,即網站的回覆率,下例表示比值為1,顯示受測的網站伺服器百分之百回覆。
6. 顯示送出的要求(request)的速率,下面的
範例顯示每秒送出199.8的request(接近所下達的參數--rate),一般如果此數據低於--rate參數所下達的參數,通常是因為受測的網站伺服器處理已經飽和,而無法有效處理httpref所產生的要求。另外一個可能性在於執行httpref所在的主機上,效能並不足於產生如此大量的要求數量。
7. 顯示每個要求的長度,單位為byte,如下例表示
每個要求的長度為80 bytes。
8. 顯示httpref每秒所接收到之網站伺服器回
覆(response)的連線數相關統計數據,包含每秒最少收到的連線數等等,以下範例顯示,每秒收到的回覆數最少為198,每秒收到的回覆數平均為199,每秒收到的回覆數最多為200,而每秒收到的回覆數標準差為1:
9. 顯示受測的網站伺服器平均的回覆時間(單位為毫秒),其中response指的是httpref送出request封包到受測網站伺服器至測試程式收到受測網站伺服器回覆完成的平均時間。transfer指的是httpref送出request封包的第一個byte到受測網站伺服器至測試程式收到受測網站伺服器回覆的第一個byte的平均時間。就下面的範例來說,顯示回覆時間為38毫秒,transfer時間是1.5毫秒。
10. 顯示受測網站伺服器回覆的資料平均長度(單位
為byte),其中header指的是回覆訊息的表頭資訊長度,content為訊息的內容長度,footer則是訊息的結尾長度。
11. 顯示受測網站伺服器回覆的HTTP狀態碼統計數
目:
其中,HTTP狀態碼意義如表3所示。
表3 HTTP狀態編號代表意義
12. 顯示httpref程式所使用的CPU資源情況:
13. 顯示網路卡每秒實際的傳輸量,要特別注意是,
在此的單位為(kilobytes,位元組),而非一般的kilobits(bit):