上期我们讲到LoaRunner性能测试结果分析实践之使用HttpWatch分析响应时间,这期我们讲LoaRunner性能测试结果分析实践之Request View。
Request View
Request View内容详细记录了每个请求的信息,主要包括
Overview、Time Chart、Headers
Cookies、Cache、Query String
POST Data、Content、Stream和Warnings几部分内容。
Overview的内容如图所示。
Display URL:表示请求的URL。
Started At:表示该请求开始的时间。
Submit Form:表示表单(Form)被提交到的URL,只有POST操作时才会有该项。
DNS Lookup:表示DNS查找操作。
Connect:表示TCP连接操作。
HTTP Request:表示一个请求被发出去。
HTTP Response:表示一个应答被收回。
Read Cache:表示该次请求是从cache中读取应答消息。
Time Chart的内容如图所示。
Time Chart显示了一次请求应答过程中每个时间片段所花费的时间。
一次完整的请求应答过程需要经历的时间片段如图所示。
各时间块颜色的意义见表。
Header Sent的内容如下:
Request-Line:包括HTTP提交请求方法、HTTP版本和URL子路径。
Accept:可接受的文件类型。
Accept-Encoding:可接受的纯文本之外的内容编码的类型。
Accept-Language:可接受的返回数据的语言种类。
Connection:指定该次请求回应结束后,如何处理连接。
Cache-Control:指定请求和响应遵循的缓存机制。
Location:用于重定向接收者到一个新URI地址。
Host:请求连接的主机名。
Header Received的内容如下:
Status-Line:包括HTTP请求的状态码和HTTP版本信息。
Connection:指定该次请求回应结束后,如何处理连接。
Cache-Control:指定请求和响应遵循的缓存机制。
Content-Language:内容数据的语言种类。
Content-Length:传输的内容长度。
Content-Type:内容数据的类型(Mini Type)。
Last-Modified:服务器上保存内容的最后修订时间。
Expires:内容数据被缓存的过期时间。
Cookies的内容如图所示。
关于Cookies主要包括这几方面的信息:
CookieName、Direction、Value、Path、Domain和Expires。
CookieName:Cookie的名称。
Direction:表明该Cookie是由客户端发送到服务器的还是从服务器接受的。
Value:Cookie的内容。
Path:该Cookie所在站点的路径。
Domain:显示该Cookie所属的域名或主机名。
Expires:指该Cookie失效时间,当浏览器关闭时该Cookie值将被删除。
Cache的内容如图所示。
关于Cache主要包括这几方面的信息:
URL in cache、Expires
Last Modification、Last Cache Update
Last Access、ETag和Hit Count。
URL in cache:该项内容是否写入浏览器缓存。
Expires:Cache失效日期和时间。
Last Modification:当Cache内容被存储或更新时,那么更改日期将会修改为最近的日期。
Last Cache Update:Cache内容被更新的最近时间。
Last Access:最近一次读Cache的时间。
ETag:ETag是用于匹配服务器上的实体,使用的方式为模糊匹配。
Hit Count:读Cache内容的次数。
Query String的内容如图所示。
Query String是通过URL来传递参数的一种方式,通常的格式如下:
…?name1=value1&name2=value2&…
Query String内容中可以显示当前URL中所有的参数名及对应的值。图所对应的URL如下:
http://webmail.mail.163.com/app/jifen/wel_js5.jsp?sid=FAldACVuhNPHoCHfGVuueKhMhWgqijnA&uid=arivnhuang@163.com&color=003399&p=0
POST Data显示以POST方式请求的数据信息,图显示的内容对应的URL如下:
https://ssl.mail.163.com/entry/coremail/fcg/ntesdoor2?funcid=loginone&language=-1&passtype=1&iframe=1&product=mail163&from=web&df=email163&race=-2_99_-2_hz&module=&uid=arivnhuang@163.com&style=-1&skinid=null
图中内容“Mime Type:
application/x-www-form-urlencoded”是指POST方式提交数据的编码方式。
以POST方式提交数据,其数据编码有以下几种方式:
1.Text/plain
以纯文本的形式传送数据。
- Application/x-www-form-urlencoded
POST使用的默认方式,其格式与Query String的格式一致,但是POST数据是通过请求内容来提交,而不是通过URL来提交。
3.Multipart/form-data
使用MIME编码方式,
MIME(Multipurpose Internet Email Extension)多用途Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。
然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。每个MIME类型由两部分组成,前一部分是数据的大类别,例如声音audio、图象image等,后一部分定义具体的种类。
Internet中有一个专门组织IANA来确认标准的MIME类型,但Internet发展的太快,很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip、x-tar等。
事实上这些类型运用的很广泛,已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。而Web服务器和浏览器(包括操作系统)中,缺省都设置了标准的和常见的MIME类型,只有对于不常见的MIME类型,才需要同时设置服务器和客户浏览器,以进行识别。
Content的内容如图所示。
显示接收到的HTTP响应信息,包括MIME的类型(如图中的类型为text/html),总的字节数和这些内容是否从服务中下载或从缓存中读取,如果对HTTP进行了压缩还应该显示压缩的方式、压缩后的文件大小以及压缩比。
Stream的内容如图所示。
Stream的内容主是显示客户端发送的内容和服务器端返回的内容。左边显示的是客户端发送的内容,显示了数据流大小和发送到那个服务器,如图所示,发送的字节数为869个字节。
服务器的IP地址为211.162.127.78,端口号为80。右边显示的是服务器返回的内容,包括返回的字节数和返回到客户端的IP地址。
左边为客户端向服务器提交的请求,主要包括以下内容:
GET / HTTP/1.1
GET表示请求方式,“/”表示URI(URI是Web上访问可用资源的一种通用资源标识符,Uniform Resource Identifier),“HTTP/1.1”表示使用的协议和协议版本。
Accept
表示接受返回数据的类型。“/”代表允许接受所有的数据类型。
Referer
表示一个URL地址
(如http://email.163.com),表示从该地址发出的请求。
Accept-Language
表示接受返回数据的语言,如zh-cn表示接受返回数据语言为中文。
Accept-Encoding
表示浏览器可接受除纯文本之外的内容编码的类型,如gzip压缩、deflate压缩内容。
User-Agent
标识客户端浏览器类型及相关版本信息。
Host
主机标识地址。
Connection
表示连接状态,如Keep-alive表示保持TCP的连接状态。
右边的内容为服务器向客户返回的数据内容,主要包括以下内容:
HTTP/1.0 200 OK
表示协议、协议版本、请求的状态。
Date
表示发送HTTP消息的日期。
Expires
表示实体的有效期
Content-Type
表示服务器返回请求类型,如text/html。
Last-Modified
表示被请求资源上次修改的日期和时间。
Age
表示HTTP接受请求操作响应的缓存时间。
Warnings的内容如图所示。
Warnings显示了单个请求出现警告的内容,显示的内容包括警告ID、警告类型和警告的详细描述,关于警告类型主要三种:
Performace(性能)、Security(安全)和Functional(功能)。