【Jmeter】资源文件接口请求【用于自察】

【Jmeter】资源文件接口请求

转自(http://blog.csdn.net/lluozh2015/article/details/51223498)

公司有一款产品,类似于视频在线学习的网站或论坛

现在计划使用接口请求模拟视频资源文件的请求

请求抓包

资源文件的url地址:

http://Host/video%2Fgao1shuxue-shuliangji.mp4

注:Host地址用Host代替,下同

因为没有写过这类型的接口请求,首先试着在网页端(清除缓冲)输入该url后,查看网络信息:

发现有3个同样的接口进行请求,一个返回值是200,另外两个的返回值是206

让我们看一下206返回码

206 Partial Content

响应是在客户端表明自己只需要目标URL上的部分资源的时候返回的.这种情况经常发生在客户端继续请求一个未完成的下载的时候(通常是当客户端加载一个体积较大的嵌入文件,比如视屏或PDF文件),或者是客户端尝试实现带宽遏流的时候

使用Fiddler进行抓包,查看3个接口请求和响应情况

返回200的接口

返回206的两个接口

观察可知:

该请求分三个线程去分段并发下载,第一个请求是请求这个文件的大小,响应头有个返回参数是access-range为byte的,然后还有一个响应参数是centent-length的为请求的文件总长度的,后面的线程是去分段下载的,响应码为206。响应头中会有centent-range的参数指定开始和结束的字节范围

Response Headers

在Response Headers中,看看几个主要的参数的意义:

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

意思:浏览器支持的 MIME 类型分别是 text/html、application/xhtml+xml、application/xml 和/,优先顺序是它们从左到右的排列顺序。

详解:

Accept表示浏览器支持的 MIME 类型

MIME的英文全称是 Multipurpose Internet Mail Extensions(多功能 Internet 邮件扩充服务),是一种多用途网际邮件扩充协议,后来也应用到浏览器

text/html,application/xhtml+xml,application/xml 都是 MIME 类型,也可以称为媒体类型和内容类型,斜杠前面的是 type(类型),斜杠后面的是 subtype(子类型);type 指定大的范围,subtype 是 type 中范围更明确的类型,即大类中的小类

Text:用于标准化地表示的文本信息,文本消息可以是多种字符集和或者多种格式的

text/html表示 html 文档

Application:用于传输应用程序数据或者二进制数据

application/xhtml+xml表示 xhtml 文档

application/xml表示 xml 文档

Accept-Encoding: gzip, deflate

浏览器支持的压缩编码是 gzip 和 deflate。

详解:

Accept-Encoding表示浏览器有能力解码的编码类型

gzip是 GNU zip 的缩写,它是一个 GNU 自由软件的文件压缩程序,也经常用来表示 gzip 这种文件格式

deflate是使用了 LZ77 算法与哈夫曼编码(Huffman Coding)的一个无损数据压缩算法

Accept-Language: zh-cn,zh;q=0.5

浏览器支持的语言分别是中文和简体中文,优先支持简体中文。

详解:

Accept-Language表示浏览器所支持的语言类型

zh-cn表示简体中文;zh 表示中文

q是权重系数,范围 0 =< q <= 1,q 值越大,请求越倾向于获得其“;”之前的类型表示的内容,若没有指定 q 值,则默认为1,若被赋值为0,则用于提醒服务器哪些是浏览器不接受的内容类型

Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7

浏览器支持的字符编码分别是 GB2312、utf-8 和任意字符,优先顺序是 GB2312、utf-8、*。

详解:

Accept-Charset告诉 Web 服务器,浏览器可以接受哪些字符编码

GB2312是中国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又称GB0,由中国国家标准总局发布,1981年5月1日实施。GB2312 编码通行于中国大陆;新加坡等地也采用此编码

utf-8是 Unicode 的一种变长字符编码又称万国码,由 Ken Thompson 于1992年创建,现在已经标准化为 RFC 3629

表示任意字符编码,虽然 q 都是等于 0.7,但明确指定的 GB2312,utf-8 比具有更高的优先级

User-Agent: Mozilla/5.0 (compatible;域名)

使用的用户代理是 Mozilla/5.0 (compatible; 域名)。

详解:

User-Agent(用户代理),简称 UA,是一个特殊字符串头,使得服务器能够识别客户端使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等

Mozilla/5.0:Mozilla 是浏览器名,版本是 5.0

compatible(兼容的)表示平台是兼容模式

Connection: Keep-Alive

Connection表示客户端与服务连接类型

Keep-Alive表示持久连接

发现在200和206返回的请求中,在于请求的Range这个参数的区别

Range为空或者不设定这个参数时,请求的是整个视频资源,如果Range的值为bytes=0-10时(一个较小的值即可),可获取该资源的头信息

Range的值为空时返回的Content-Length为整个请求资源的字节长度,Content-Type为请求资源的类型

Range的值为如bytes=56721-时,请求的是从56721字节到最后字节的资源

Referer为重定向请求地址,现Referer重定向的地址和原地址一样,故可以为空

因此,Jmeter中的HTTP信息头管理器参数可设置可为如下:

使用Jmeter模拟请求中,请求到的资源并没有保存到本机,因为若保存到本机,多并发的时候本机硬盘扛不住,所以一般是不保存硬盘的,loadrunner同样

实现和业务

在做这个资源请求的并发时,可分为两种:

视频请求并发–不下载资源

只对资源的长度进行请求,然后校验第一个请求的返回的响应头中的总长度一致就行,没必要下载

不需要让所有的线程真正下载,服务端的线程池有个最大的线程数限制的,也就是说不管多少线程进来请求下载,在一个时间点上,真正能下载的线程只有最大线程数,因为线程池里面的线程跟CPU一样是根据时间片来调度的,所以在没超过服务端设置的最大连接数时,看着很多线程同时下载时每个线程都在下载,但是一个时间点上只有最大线程数的线程在下载。

因此在测试的时候,首先确认在服务端的线程池开了最多多少个下载线程限制,再启动对应数据的线程进行下载,然后启动其他线程进行请求下载,然后验证请求后能否得到响应,响应是否正确,响应时间

视频请求并发–下载资源压力负载

对所有资源进行模拟下载

但是如果在局域网内测试时,没必要关注网速,因为真正上线后,服务端的带宽一定是瓶颈,故只关注请求的响应即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容