精通軟體效能測試與LoadRunner最佳實戰 連載十

-5發表於2013-08-05

下面參見圖12-4,針對訪問百度首頁您是不是就可以得出如下結論了呢?訪問百度首頁,共耗費了60毫秒,傳送668位元組,接收4300位元組,應用的是GET方法,伺服器給予成功響應。也許有的讀者說了不可能吧,怎麼這麼快?這是因為由於作者經常訪問百度,所以該地址的一些資源資訊被快取了,從圖12-4您也能看到有些內容是從快取中取得的。接下來,再讓我們一起來看一下下方豐富的相關資料資訊,如圖12-5所示。

  圖12-5  訪問百度首頁獲得的資料資訊下半部分

  讓我們逐頁來看一下相關的資料資訊:

  (1)Overview頁資訊(如圖12-6所示)

  圖12-6  訪問百度首頁獲得的資料資訊下半部分——Overview頁資訊

  Display URL:表示請求的地址為百度首頁,即:http://www.baidu.com/。

  Started At:傳送請求的時刻,本地時間。

  DNS Lookup:DNS解析,找名稱為www.baidu.com的主機。

  Connecting:開始同解析後的主機進行連線,主機IP地址為119.75.217.56。

  Connected:與119.75.217.56建立了連線,本地的連線地址和埠為“192.168.0.151:4896”。

  HTTP Request:通過瀏覽器發出的請求,這裡的請求是“http://www.baidu.com/”。

  HTTP Response:伺服器返回的頭和內容資訊。

  (2)Time Chart頁資訊(如圖12-7所示)。

  圖12-7  訪問百度首頁獲得的資料資訊下半部分——Time Chart頁資訊

  該頁以直觀線條方式顯示了各部分的耗時情況,左側顯示考察的URL總體耗時情況,右側針對左側圖示給出了Blocked(阻塞)、DNS Lookup(DNS定址)、Connect(連線)、Send(傳送請求)、Wait(等待伺服器響應)、Receive(返回響應)、TTFB(即:Time To First Byte,首位元組返回)和Network(網路)耗費時間的情況。

  下面作者以表格形式給出各部分耗時相關的一些說明資訊,參見表12-2所示。

12-2   各段耗時說明

序號

圖示名稱

含    義

1

Blocked

阻塞時間包括任何預處理時間(比如快取查詢)和花費的時間等待網路連線可用。瀏覽器限制數量的併發網路連線每個主機名和將請求排隊,如果已經達到極限則後續請求需排隊

2

DNS Lookup

DNS解析一個主機名到一個IP地址所耗費的時間

3

Connect

連線是所需的時間建立一個TCP連線到Web伺服器(或代理)。如果一個安全的HTTPS連線正在用這段時間包括SSL握手過程

4

Send

傳送是傳送HTTP請求訊息到伺服器所需的時間

5

Wait

等待是等待從伺服器得到響應訊息的時間。這個值包括由於網路延遲和請求Web伺服器所需時間

6

Receive

客戶端接收從伺服器讀取響應訊息的時間。這個值取決於內容返回的大小、網路頻寬和是否使用了HTTP壓縮等

7

TTFB

TTFB是從瀏覽器發出請求到伺服器返回第一個位元組所耗費的時間。它包括TCP連線時間,傳送請求時間和接收第一個位元組的響應訊息時間

8

Network

網路是一個HTTP請求在網路訊息傳輸上耗費的時間

從圖12-7您可以一目瞭然地看到訪問百度首頁共耗費了60毫秒的時間,其主要耗費時間的部分在伺服器返回響應資料上,其耗費了39毫秒。

 (3)Headers頁資訊。

  圖12-8  訪問百度首頁獲得的資料資訊下半部分——Headers頁資訊

  圖12-8給出了傳送請求頭和返回請求頭的相關內容,這裡我們也列一個表格給予分析,參見表12-3和表12-4所示。

序號

表頭資訊

含    義

1

GET /HTTP/1.1

GET”代表請求方法,“HTTP/1.1”代表協議和協議的版本

2

Accept

Accept請求報頭域用於指定客戶端接受哪些型別的資訊。例如:Accepttext/html,表明客戶端希望接受html文字

3

Accept-Encoding

Accept-Encoding請求報頭域類似於Accept,但是它是用於指定可接受的內容編碼。例如:Accept-Encoding:gzip,deflate.如果請求訊息中沒有設定這個域伺服器假定客戶端對各種內容編碼都可以接受

4

Accept-Language

Accept-Language請求報頭域類似於Accept,但是它是用於指定一種自然語言。例如:Accept-Language:zh-cn,中文。如果請求訊息中沒有設定這個報頭域,伺服器假定客戶端對各種語言都可以接受

5

Connection

連線型別,預設為Keep-Alive(長連線),如果不希望使用長連線,則需要在header中指明Connection的值為Close

6

Cookie

Cookie是由伺服器端生成,傳送給瀏覽器,瀏覽器會將Cookiekey/value儲存到某個目錄下的文字檔案內,下次請求同一網站時就傳送該Cookie給伺服器。伺服器可以利用Cookies包含資訊的任意性來篩選並經常性維護這些資訊,以判斷在HTTP傳輸中的狀態。可以判斷其是否登入過網站,客戶的喜好等

7

Host

Host請求報頭域主要用於指定被請求資源的Internet主機和埠號,它通常從HTTP URL中提取出來的,我們在瀏覽器中輸入:http://bbs.51testing.com/,瀏覽器傳送的請求訊息中就會包含Host請求報頭域,如下:Hostbbs.51testing.comn,此處使用預設埠號80,若指定了埠號為8080,則變成:Hostbbs.51testing.com:8080

8

User-Agent

User-Agent請求報頭域允許客戶端將它的作業系統、瀏覽器和其他屬性告訴伺服器

  關於GET和POST方法在這裡簡單做一下說明,GET方法是預設的HTTP請求方法,我們日常用GET方法來提交表單資料,然而用GET方法提交的表單資料只經過了簡單的編碼,同時它將作為URL的一部分向Web伺服器傳送,因此,如果使用GET方法來提交表單資料就存在著安全隱患上。同時由於GET方法提交的資料是作為URL請求的一部分所以提交的資料量也不能太大。POST方法是GET方法的一個替代方法,它主要是向Web伺服器提交表單資料,尤其是大批量的資料。POST方法克服了GET方法的一些缺點。通過POST方法提交表單資料時,資料不是作為URL請求的一部分而是作為標準資料傳送給Web伺服器,這就克服了GET方法中的資訊無法保密和資料量太小的缺點。因此,出於安全的考慮以及對使用者隱私的保護,通常表單提交時採用POST方法。

表12-4   伺服器端響應返回表頭說明

序號

表頭資訊

含    義

1

HTTP/1.1 200 OK

HTTP/1.1代表協議和協議的版本,200HTTP響應程式碼,表示成功

2

Cache-Control

Cache- Control指定請求和響應遵循的快取機制。在請求訊息或響應訊息中設定 Cache-Control並不會修改另一個訊息處理過程中的快取處理過程。請求時的快取指令包括no-cacheno-storemax-age max-stalemin-freshonly-if-cached,響應訊息中的指令包括publicprivateno-cacheno-storeno-transformmust-revalidateproxy-revalidatemax-age。各個訊息中的指令含義如下:

Public指示響應可被任何快取區快取;

Private指示對於單個使用者的整個或部分響應訊息,不能被共享快取處理。這允許伺服器僅僅描述當使用者的部分響應訊息,此響應訊息對於其他使用者的請求無效;

no-cache指示請求或響應訊息不能快取;

no-store用於防止重要的資訊被無意的釋出。在請求訊息中傳送將使得請求和響應訊息都不使用快取;

max-age指示客戶機可以接收生存期不大於指定時間(以秒為單位)的響應;

min-fresh指示客戶機可以接收響應時間小於當前時間加上指定時間的響應;

max-stale指示客戶機可以接收超出超時期間的響應訊息。如果指定max-stale訊息的值,那麼客戶機可以接收超出超時期指定值之內的響應訊息

3

Connection

連線型別,預設為Keep-Alive(長連線),如果不希望使用長連線,則需要在header中指明Connection的值為Close

4

Content-Encoding

Accept-Encoding請求報頭域類似於Accept,但是它是用於指定可接受的內容編碼。例如:Accept-Encoding:gzip,deflate,如果請求訊息中沒有設定這個域伺服器假定客戶端對各種內容編碼都可以接受

5

Content-Length

表示內容長度,只有當瀏覽器使用持久HTTP連線時才需要這個資料

6

Content-Type

表示伺服器傳送的內容的MIME型別

7

Date

Date頭域表示訊息傳送的時間,時間的描述格式由rfc822定義。例如,Thu,15 Nov 2012 05:56:32 GMTDate描述的時間表示世界標準時間

8

Expires

Expires: Thu,15 Nov 2012 05:56:32 GMT 需和Last-Modified結合使用。用於控制請求檔案的有效時間,當請求資料在有效期內時,客戶端瀏覽器從快取請求資料而不是伺服器端,當快取中資料失效或過期,才從伺服器更新資料

9

Server

指示伺服器的型別,如apache tomcat。這裡出現的BWS應該是Baidu Web Server,百度自己研發的Web伺服器用來代替apache

    關於MIME(Multipurpose Internet Email Extension),意為多用途Internet郵件擴充套件,它是一種多用途網際郵件擴充協議,在1992年最早應用於電子郵件系統,但後來也應用到瀏覽器。伺服器會將它們傳送的多媒體資料的型別告訴瀏覽器,而通知手段就是說明該多媒體資料的MIME型別,從而讓瀏覽器知道接收到的資訊哪些是MP3檔案,哪些是JPEG檔案等。當伺服器把把輸出結果傳送到瀏覽器上的時候,瀏覽器必須啟動適當的應用程式來處理這個輸出文件。在HTTP中,MIME型別被定義在<head>、</head>部分的Content-Type中。

  後續內容請從書籍獲得……

  (未完待續)

相關文章