June 6,2007
我所知道的HTTP測試方法
======
聲明:受限於個人經驗,我選擇以目前服務的公司及其產品來說明我所瞭解的HTTP測試方法。撰寫本文是個人自主行為,與我目前服務的公司(Agilent)無關。
======
[HTTP不是商業機密]
HTTP(Hypertext Transfer Protocol)是一個公開的通訊協定,介紹請參考維基百科的條目(英文 / 中文),如果要更進一步瞭解的話可以去看 RFC 1945 和 RFC 2616
[HTTP不論是伺服器端或是用戶端,都有很多的實作了]
伺服器端:Apache, IIS...
用戶端:Mozilla Firefox, Microsoft Internet Explorer, Safari, Opera...
[HTTP量測:為何而測?]
當然是為了廣大的人民使用者囉,先有人潮,才有錢潮嘛。
[HTTP量測:測什麼?]
用FCAPS(Fault, Configuration, Accounting, Performance, Security)來替網路管理分類的話,HTTP量測我們可以比較專注在障礙(fault)和效能(Performance)兩方面。
障礙方面,就是測知伺服器端是不是還能提供服務(網站掛了嗎?);效能方面,就是測知伺服器端是不是能夠提供即時的服務(網站好慢?)
[HTTP效能量測:如何測?]
考量地域及時段,以能夠代表使用者的配置來測量。
以這篇台灣網路服務品質測試報告(PDF檔案)來說,當年(2000?)這篇報告著重在撥接上網(台北和新竹),以及瀏覽網頁(HTTP)兩個面向。如果今天再做一次,也許就該改用寬頻上網(考慮更多城市?),全部測試都 7 x 24(全年無休),納入更多用戶行為(P2P?),才能更具有代表性。
[HTTP效能量測:量測項目的細分,以及其代表意義的解讀]
*網域名稱解析時間(DNS Resolution Time)
查詢網域名稱伺服器,取得網域名稱(例如www.qwest.com)和實際IP位址(此例為 155.70.40.252 )所需的時間
如果這部份太長,調校的方向應該是檢查用戶端的DNS設定(明明用了X公司的服務上網,卻還是指向Y公司的DNS?)(不要每台電腦都幫人家設168.95.1.1啊啊啊~~~),或者檢討DNS機器本身的效能(台灣有好幾個isp,我都遇到過DNS no response的情形,只好手動換個DNS)
*TCP連結時間(TCP Connect Time)
開啟socket到(前步驟解出的)IP位址所需的時間
(這個量測值可以當作network latency的參考,當然伺服器作業系統的回應能力也會影響)
*伺服器回應時間(Server Response Time)
用戶端發出網頁要求(例如GET)之後,直到伺服器傳回第一個byte的時間
(這個量測值可以當作server latency的參考)
*資料傳輸時間(Data Transfer Time)
用戶端取得頁面和物件的時間。
(這個量測值會受到資料傳輸量影響)
*整體回應時間(Total Response Time)
前述時間的總和
最後面這一段關於量測項目的細分以及解讀,大家有興趣的話可以看看美國一家ISP(Qwest)如何運用Agilent Firehunter的說明,更詳細。請參考 http://stat.qwest.net/resources.html 的 HTTP Protocol Measurement Description 一節。
(不過要說明的是,現在這個產品改叫做 Agilent Wireless QoS Manager(WQM),比較強調能夠測得行動上網的相關數據。關於HTTP的部份,也比前面Qwest引用的版本更細分,可以分別量測網頁純文字部份和網頁內嵌物件的下載時間)
======
本文結束,關於感想的部份(有一點點火藥味:p),請看底下的「後記」
聲明:受限於個人經驗,我選擇以目前服務的公司及其產品來說明我所瞭解的HTTP測試方法。撰寫本文是個人自主行為,與我目前服務的公司(Agilent)無關。
======
[HTTP不是商業機密]
HTTP(Hypertext Transfer Protocol)是一個公開的通訊協定,介紹請參考維基百科的條目(英文 / 中文),如果要更進一步瞭解的話可以去看 RFC 1945 和 RFC 2616
[HTTP不論是伺服器端或是用戶端,都有很多的實作了]
伺服器端:Apache, IIS...
用戶端:Mozilla Firefox, Microsoft Internet Explorer, Safari, Opera...
[HTTP量測:為何而測?]
當然是為了
[HTTP量測:測什麼?]
用FCAPS(Fault, Configuration, Accounting, Performance, Security)來替網路管理分類的話,HTTP量測我們可以比較專注在障礙(fault)和效能(Performance)兩方面。
障礙方面,就是測知伺服器端是不是還能提供服務(網站掛了嗎?);效能方面,就是測知伺服器端是不是能夠提供即時的服務(網站好慢?)
[HTTP效能量測:如何測?]
考量地域及時段,以能夠代表使用者的配置來測量。
以這篇台灣網路服務品質測試報告(PDF檔案)來說,當年(2000?)這篇報告著重在撥接上網(台北和新竹),以及瀏覽網頁(HTTP)兩個面向。如果今天再做一次,也許就該改用寬頻上網(考慮更多城市?),全部測試都 7 x 24(全年無休),納入更多用戶行為(P2P?),才能更具有代表性。
[HTTP效能量測:量測項目的細分,以及其代表意義的解讀]
*網域名稱解析時間(DNS Resolution Time)
查詢網域名稱伺服器,取得網域名稱(例如www.qwest.com)和實際IP位址(此例為 155.70.40.252 )所需的時間
如果這部份太長,調校的方向應該是檢查用戶端的DNS設定(明明用了X公司的服務上網,卻還是指向Y公司的DNS?)(不要每台電腦都幫人家設168.95.1.1啊啊啊~~~),或者檢討DNS機器本身的效能(台灣有好幾個isp,我都遇到過DNS no response的情形,只好手動換個DNS)
*TCP連結時間(TCP Connect Time)
開啟socket到(前步驟解出的)IP位址所需的時間
(這個量測值可以當作network latency的參考,當然伺服器作業系統的回應能力也會影響)
*伺服器回應時間(Server Response Time)
用戶端發出網頁要求(例如GET)之後,直到伺服器傳回第一個byte的時間
(這個量測值可以當作server latency的參考)
*資料傳輸時間(Data Transfer Time)
用戶端取得頁面和物件的時間。
(這個量測值會受到資料傳輸量影響)
*整體回應時間(Total Response Time)
前述時間的總和
最後面這一段關於量測項目的細分以及解讀,大家有興趣的話可以看看美國一家ISP(Qwest)如何運用Agilent Firehunter的說明,更詳細。請參考 http://stat.qwest.net/resources.html 的 HTTP Protocol Measurement Description 一節。
(不過要說明的是,現在這個產品改叫做 Agilent Wireless QoS Manager(WQM),比較強調能夠測得行動上網的相關數據。關於HTTP的部份,也比前面Qwest引用的版本更細分,可以分別量測網頁純文字部份和網頁內嵌物件的下載時間)
======
本文結束,關於感想的部份(有一點點火藥味:p),請看底下的「後記」
======
後記:
[關於自己]
我覺得網路管理是一種專業。
但是,往往因為「網管」這個詞涵蓋太廣,好像每個玩電腦的人都會一點,入門比較容易,就被輕忽了。
這一篇是希望能夠把一個人人都遇得到(網站好慢?)的情境,加以分析、解釋。(而不是猜測喔!)
如果大家覺得這篇有道理,那是無數網管前輩的心血,我不敢居功;如果大家覺得這篇寫得爛,那一定是我無法深入淺出地解釋這些道理,我要自我檢討。
[關於我所要對話的對象(們)]
是的,這一篇是因為看到 台灣10大部落格供應商誰最快?尖峰時段完整測試報告 ,以及針對它的批評(例如[驚] 丁丁級的部落格供應商測試報告 — 踢爆丁丁測試內幕),覺得很悶(就是很悶啊),所以才寫的。
原作者 billypan101 所引用的http://internetsupervision.com在全世界放了十台機器來當作HTTP測試的用戶端,我覺得是很有意思的作法。由他們來負擔十台機器的維運費用,將「測試」本身變成一種服務、一種商品。
但是,在沒有付費(我啦)的情形下,我在該網站所能找到的頁面,似乎都沒有進一步說明他們的量測方法。
我覺得工具本身的問題不大。問題在樣本的選定,操作工具的方法,以及對於數據的解讀。這些 richliu 等人都批評過了,我還是再多嘴兩句:
[樣本的選定]
richliu已經用另一個工具Firebug,讓大家瞭解那十個樣本本身差異有多大(有的一共好幾MB,還外連到別的網站,有的只有幾百KB)
[操作工具的方法]
只有測一次,就可以得到結論嗎?那我可以百分之百的告訴妳:這絕對不是丁丁測試,因為......
天線寶寶們一定會說:「再一次!再一次!」 XD
richliu看到了沒,天線寶寶說的話都不聽,怎麼可以說是丁丁測試呢?丁丁會生氣的 :p
[對於數據的解讀]
我的感覺啦,好像在打靶,不過不只是「先射箭再畫靶」,比較像是打飛靶,而且是遙控飛靶,然後那個遙控器......
一定不在我的手上囉。
後記:
[關於自己]
我覺得網路管理是一種專業。
但是,往往因為「網管」這個詞涵蓋太廣,好像每個玩電腦的人都會一點,入門比較容易,就被輕忽了。
這一篇是希望能夠把一個人人都遇得到(網站好慢?)的情境,加以分析、解釋。(而不是猜測喔!)
如果大家覺得這篇有道理,那是無數網管前輩的心血,我不敢居功;如果大家覺得這篇寫得爛,那一定是我無法深入淺出地解釋這些道理,我要自我檢討。
[關於我所要對話的對象(們)]
是的,這一篇是因為看到 台灣10大部落格供應商誰最快?尖峰時段完整測試報告 ,以及針對它的批評(例如[驚] 丁丁級的部落格供應商測試報告 — 踢爆丁丁測試內幕),覺得很悶(就是很悶啊),所以才寫的。
原作者 billypan101 所引用的http://internetsupervision.com在全世界放了十台機器來當作HTTP測試的用戶端,我覺得是很有意思的作法。由他們來負擔十台機器的維運費用,將「測試」本身變成一種服務、一種商品。
但是,在沒有付費(我啦)的情形下,我在該網站所能找到的頁面,似乎都沒有進一步說明他們的量測方法。
我覺得工具本身的問題不大。問題在樣本的選定,操作工具的方法,以及對於數據的解讀。這些 richliu 等人都批評過了,我還是再多嘴兩句:
[樣本的選定]
richliu已經用另一個工具Firebug,讓大家瞭解那十個樣本本身差異有多大(有的一共好幾MB,還外連到別的網站,有的只有幾百KB)
[操作工具的方法]
只有測一次,就可以得到結論嗎?那我可以百分之百的告訴妳:這絕對不是丁丁測試,因為......
天線寶寶們一定會說:「再一次!再一次!」 XD
richliu看到了沒,天線寶寶說的話都不聽,怎麼可以說是丁丁測試呢?丁丁會生氣的 :p
[對於數據的解讀]
我的感覺啦,好像在打靶,不過不只是「先射箭再畫靶」,比較像是打飛靶,而且是遙控飛靶,然後那個遙控器......
一定不在我的手上囉。
引用URL
http://cgi.blog.roodo.com/trackback/3419747
回應文章 
呵呵,真是太污辱丁丁了,天線寶寶們可是很聰明的.
不過丁丁是不會生氣的喔~至少我沒看過.
不過丁丁是不會生氣的喔~至少我沒看過.
Posted by Fireman
at June 7,2007 15:29
Fireman,
對耶,好像只有看過丁丁難過,沒看過他生氣 :p
另外,要替這篇文章做一個更正,我後來找到
http://internetsupervision.com/help/glossary.htm#def_http
這應該就說明了那個 InternetSupervision 是如何測HTTP的囉。
對耶,好像只有看過丁丁難過,沒看過他生氣 :p
另外,要替這篇文章做一個更正,我後來找到
http://internetsupervision.com/help/glossary.htm#def_http
這應該就說明了那個 InternetSupervision 是如何測HTTP的囉。
Posted by PowerOp
at June 7,2007 23:29