51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5789|回复: 18
打印 上一主题 下一主题

[求助] 做了很久性能依然有几个问题细节不清楚,求大神解答

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2013-11-19 09:27:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.loadrunner的监控连接数代表什么,比如我的脚本是访问一个网页,该网页有4个图片3个js文件,那么访问一次该页面,连接数是8还是1。这个连接数是所有的资源访问连接还是单个网页的,又或者是指的机器数,比如页面和图片是一台机器,js文件放在一台服务器上,那么连接数就是2是吗。

2.每秒点击量,还是上面的场景,一个页面有很多图片和js文件,那么这个访问量是指这个页面的,还是会所有连接的,是不是访问一个页面会产生8个点击数。

3 loadrunner的120秒超时,还是一个页面多个图片js,那么访问该页面120秒超时,是指该页面资源超时还是该页面所有资源一共120秒超市。还是针对设置的页面的。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2013-11-19 13:25:22 | 只看该作者
弱弱的解释一下吞吐量:
按照客户端向后台发起了多少次请求计算的。如果访问的一个页面中,包含5个图片,那么用户点击一次鼠标访问这个页面,在loadrunner看来,访问的点击量:5+1=6
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2013-11-20 21:36:06 | 只看该作者
1.loadrunner的监控连接数代表什么,比如我的脚本是访问一个网页,该网页有4个图片3个js文件,那么访问一次该页面,连接数是8还是1。这个连接数是所有的资源访问连接还是单个网页的,又或者是指的机器数,比如页面和图片是一台机器,js文件放在一台服务器上,那么连接数就是2是吗。


1、如果是浏览器,现在除了IE6浏览器是2个连接,其他浏览器默认都是6个连接,但如果一个页面资源很多(为了保证一个页面快速展示),现在的浏览器基本会并发6-20个连接。
2、但是,loadrunner直到11版本,还是一个页面2个连接,应该是停留在IE6水平,这个可以通过wireshark等抓包软件看到;就现在知道,就只有国产的kylinPET性能工具能模拟浏览器并发多个。
3、可以参考51的这个帖子:http://bbs.51testing.com/viewthread.php?tid=992353
4、所以,如果js或图片在同一服务器连接数可能是1也可能是2,这个要看是不是同时并发还是串行,如果同时,肯定要多个连接,如果串行就可以一个连接(但这个还要看服务器情况,服务器可能主动关闭该连接,那么你串行请求下一个连接就是还得创建一个);如果是不同服务器,肯定要不同连接,不管是并行还是串行请求的。


2.每秒点击量,还是上面的场景,一个页面有很多图片和js文件,那么这个访问量是指这个页面的,还是会所有连接的,是不是访问一个页面会产生8个点击数。


每秒点击数其实是指HTTP请求数,一个页面有8个就有8个;但还有一个页面数指标,这个就是针对页面的,其实就是针对HTML响应内容的


3 loadrunner的120秒超时,还是一个页面多个图片js,那么访问该页面120秒超时,是指该页面资源超时还是该页面所有资源一共120秒超市。还是针对设置的页面的。

120秒是对每一个连接的,就是每一个HTTP请求的响应时间,如果该时间在该范围内没响应则工具主动关闭连接,不是针对页面的。
另外,其实设置120秒没意义,除非是请求的HTTP响应内容很大,如视频,不然你访问页面,如果你是客户,你等待120秒,你觉得有意义吗。是我,肯定认为这个网站体验很差,我就不想在访问它啦,所以,如果遇到这种请求超过一定秒数(你一个页面或一次交易允许忍受的时间),你应该定位是什么原因,要怎么优化,而不是去改工具的超时时间,如果你去该超时时间,虽然HTTP请求成功啦,当该页面的事务时间就太大啦,所以那些一看超时就去该时间的测试人员,都是不合格的性能测试人员,应该是分析问题,怎么解决
一个页面合理时间(事务时间)还是可以看上面说的帖子:http://bbs.51testing.com/viewthread.php?tid=992353


希望能对你们有帮助,会使用性能测试工具只是性能的一个基础,很多其他知识,如业务(站在客户角度)、协议(如HTTP协议)、网络知识、服务器定位调优,这些掌握,你才能得到提升
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2013-11-21 13:55:25 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2014-10-16 09:54
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
    发表于 2013-11-21 15:50:59 | 只看该作者
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2013-11-21 16:06:42 | 只看该作者
    回复 3# linneiwei


        关于第三点那我有个问题了,如果说这个120秒针对的是所有连接,那么假设我的lr在A机器,服务器在B机器,A和B在同一个测试环境的局域网内,但是服务器上有大量的外网图片及js的引用,那么这时候做压力测试,A会向B请求页面,但是B上面有大量www外网的图片,那么局域网连接外网的带宽很快达到瓶颈,导致实际A向B的请求数没多少,但是就已经开始120秒超时了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2013-11-22 21:15:49 | 只看该作者
    回复 6# cw83


        关于第三点那我有个问题了,如果说这个120秒针对的是所有连接,那么假设我的lr在A机器,服务器在B机器,A和B在同一个测试环境的局域网内,但是服务器上有大量的外网图片及js的引用,那么这时候做压力测试,A会向B请求页面,但是B上面有大量www外网的图片,那么局域网连接外网的带宽很快达到瓶颈,导致实际A向B的请求数没多少,但是就已经开始120秒超时了。


    现实场景应该不会存在这样的问题,如果B引用外网的图片,但对于真实用户而言,它的带宽是好的(现在带宽都不是问题啦),访问引用的图片或JS不会存在瓶颈。所以,性能测试时,不能让带宽瓶颈在工具,而是在服务器,如果测试出服务器有带宽瓶颈,就可以换千兆的或申请更高带宽,另外,还有考虑缓存(浏览器缓存),或者CDN缓存。

    如果按你这样的场景,那就说明你对性能测试理解还不深,如果真有这样的存在,你性能测试是测试你自己的服务器B,你可以不访问外网的其他;另外,你自己想像下工具虚拟的用户都是真实用户,如果请求JS或图片超过120秒,页面就没法显示,那么你就发现问题啦,问题在你引用了外网的,那你干嘛不把JS或图片放到B,或者你们自己增加一个代理做缓存,这就是架构问题啦,怎么优化网站,提高用户体验

    你提出这个问题,也证明了你性能测试时,对很多指标不关注,性能测试目的不是跑工具跑脚本,而是根据指标来优化服务器,另外,就是还要测试出系统支持多少用户,这样你可以规划你们系统怎么发展,支持多少用户时,应该多少台服务器,是不是要缓存、是不是要负载。

    其实在51上看了很多人发的帖,真心觉得水平太一般啦,还有待提高啊。很多测试人员基本就会用工具,但性能测试是一个整体的东西,要设计场景、考虑模型、关注指标。
    之前发过一篇文章:http://bbs.51testing.com/viewthread.php?tid=993651,就是很多测试人员不会调试脚本,认为loadrunner回放通过就表示脚本OK,如果你懂HTTP协议、你知道你们测试的网站页面长什么样、有哪些HTTP资源(JS、HTML、CSS、图片),再使用性能工具包括loadrunner与kylinPET这些提供了验证功能,你就能调试脚本,怎么参数化、怎么关联就会因为验证失败而不得不实践,这样你就更好的使用性能工具,另外发生问题,你也能很快定位是什么原因。

    另外,从51上看到,很多人性能测试时,不会分析指标:事务时间、点击率、吞吐量、CPU、内存、TCP连接数、TCP时间、性能测试过程用户详细信息(导致时间大的HTTP是哪些)
    1、从TCP连接数,可以看到与服务器建立连接情况,是不是IO太大啦,经常是系统没设置IO(有些系统默认很小,如linux是1024)
    2、从TCP建立时间太大(kylinPET有,loadrunner没有)可以知道响应时间长可能是因为TCP建立时间长,也可能是因为服务器或工具带宽满(千万不要让带宽瓶颈在工具侧,如果出现,应该分布式),导致TCP拥塞而丢包重传
    3、服务器资源CPU、内存、IO、带宽,这些都要关注,可能跟算法、线程同步有关
    4、点击率可以分析服务器的处理能力
    5、响应码情况,可以看到是不是有4xx,5xx或不期望出现的响应码
    6、用户详细信息(kylinPET工具有)可以分析性能测试过程的第一个buffer、响应时间,分析是N多HTTP连接里那些HTTP响应时间大,然后针对他们做优化
    7、事务时间(很重要,与支持多少用户相关)、事务成功数、失败数(最好不要有失败),事务时间可以分析出你系统支持的用户数,需要确保事务时间在合理范围内


    大家要知道性能测试的目的,一般就是测试系统能力、还有你们期待的场景(支持多少用户)是否可以支持、还有就是调优
    1、调优,那就是根据测试场景发现问题,然后优化,目的是让用户体验更好(快且正确),每个系统都不一样,如果你要成为牛人,你应该要去学校怎么调优
    2、测试系统能力还有支持多少用户,跟架构、部署这些有很多关系,也是客户与领导最关注的,事务时间就很重要,大家可以看这篇文章:http://bbs.51testing.com/viewthread.php?tid=992353
       里面讲了事务最好以页面为单位,一个页面打开的时间要在合理范围内;还有如果不模拟浏览器并发(浏览器一般6至20个并发),工具给的事务时间很难换算成页面时间。这点要给kylinPET给个赞。

    我经常也在51上看帖子,真的发现很多人以为会使用性能工具就能做好性能测试,其实有部分人做性能测试,可能只是做性能测试这件事,其实没对系统的性能测试有任何帮助。
    1、就像6楼这位朋友(没贬人意思啊),你自己站在用户角度上看,一个HTTP 120秒就肯定有问题(影响页面显示);
    2、另外,有些测试人员编辑的脚本就有问题,但他不知道,然后他使用性能测试工具测试,工具没报错误,有指标,其实脚本有问题不一定会报错误,因为性能工具没那么智能;
    3、还有,测试时,瓶颈在性能工具,但他不会分析。

    上面提的3点表示你做的性能测试是错的,你做了无用功,或者没能发现系统存在的问题,等系统上线了才发现问题,就晚了,那时候成本就高了,之前看到一篇文章一个问题导致几千万美元的损失



    个人经验,说了这么多,如果有错的地方请指出,切磋切磋 :)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2013-11-24 22:08:05 | 只看该作者
    回复 7# linneiwei


       那我举个例子您看看,我的疑问用一个图表示吧
    我的意思是如果loadrunner和服务器在一个内网环境下,那速度自不必说,但是访问外网的时候,通过网关走出去,那这个带宽就有限制了,举个例子你看淘宝,整个首页大概2m左右,而应用服务器大概只传输200k左右,剩下的1.8m都是在其他服务器上,如果我测试它的首页,那么在局域网内只传输200k左右,剩下的1.8m都通过网关走出去,那么很快网关出口就是瓶颈了,而对taobao.com的应用服务器压力没多大,那么这个怎么办呢,能不能教我一下怎么屏蔽掉其他链接的访问,因为在脚本里我就写的是访问首页,剩下几百个访问其他链接是由这个页面自动跳转的,loadrunner可以设置屏蔽掉我不想访问的资源。应该可以,但是我没找到。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2013-11-26 09:12:04 | 只看该作者
    回复 8# cw83


    loadrunner不能设置屏蔽掉想访问的资源
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2013-11-27 21:49:44 | 只看该作者
    回复 8# cw83


        loadrunner没怎么用,但好像不行。

    研究过loadrunner,loadrunner录制时会把整个交互的HTTP录制下来,从脚本可以看到。但如果你删除掉不要的这些,loadrunner再收到HTTP响应后自动会再解析里面的资源,所以还是会自动请求。

    kylinPET性能工具我就精通,录制时,也是把整个交互的HTTP录制下来,但可以在录制前设置过滤把不想要的或想要的录制下来。kylinPET默认不会自动解析收到的HTTP响应资源(如果要解析,只需要勾选内嵌资源就行)

    但如果去掉这些就不能模拟真实用户,对你服务器的调优还行,但测试真实的用户数就有影响(其实loadrunner一个虚拟用户只能并发两个TCP连接,IE6才两个,后面浏览器都至少6个,kylinPET就可以模拟浏览器一样的个数),所以你可以不关注用户数

    另外,还是那个问题可以把JS或图片下载下来放到你自己服务器,如果不行,自己搭建个HTTP代理器,做缓存,这样就不需要到外面去请求啦
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2013-12-19 09:05:44 | 只看该作者
    顶,好文
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-3-4 10:30
  • 签到天数: 660 天

    连续签到: 1 天

    [LV.9]测试副司令

    12#
    发表于 2013-12-20 09:13:32 | 只看该作者
    确实不错,顶
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-3-7 09:49
  • 签到天数: 133 天

    连续签到: 1 天

    [LV.7]测试师长

    13#
    发表于 2013-12-20 18:06:11 | 只看该作者
    顶个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-16 16:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
    发表于 2013-12-23 15:20:48 | 只看该作者
    回复 3# linneiwei


        赞一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2014-1-2 09:49:18 | 只看该作者
    顶一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2014-1-3 16:21:30 | 只看该作者
    学习中!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2014-7-28 15:08:07 | 只看该作者
    学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2020-2-2 12:43
  • 签到天数: 630 天

    连续签到: 1 天

    [LV.9]测试副司令

    18#
    发表于 2014-7-28 19:00:23 | 只看该作者
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2014-8-7 17:54:06 | 只看该作者
    赞一个
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 10:04 , Processed in 0.092757 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表