51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 33787|回复: 40
打印 上一主题 下一主题

[讨论] LoadRunner的工作原理

[复制链接]
  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2007-1-28 16:21:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
       刚学LR不久,相对QTP而言,对LR的原理感觉有些难理解。
       QTP很直观,回放过程是看得见的,用户操作和界面都可呈现在眼前。但LR就不是,给我感觉是一直在执行代码。且结果也是LR分析出的图表和日志。
       由此,我对LR的过程有产生了疑问:是否能真正模拟若干用户?
         1、一个真正的用户在访问因特网时,网站会用http或其它方式向客户端发送文件。这些文件都保存在客户端的硬盘中。LoadRunner在模拟用户过程中是否可以达到这个目的?如何实现?
         2、根据客户端浏览器设置,IE缓存中的文件可能在不断更新,即一直在执行下载/复制/删除操作,一个用户就是这样,万个用户也这样。LoadRunner是怎么实现这个功能的?是否真正模拟到这种压力?
         3、在场景运行过程中,模拟用户有 初始化/缓冲/运行/停止 等状态,这些都是数字不断的改变,我们如何确定他的正确性/准确性?

    实质上,上述应该是属于我对LoadRunner工作原理的不理解,或可称为怀疑吧。

        仁者见仁,智者见智。请路过的朋友们指路sdlkfj2
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-1-28 16:56:41 | 只看该作者

    哈哈。

    作为专业测试人员,应该有专业的观点。对于loadrunner这样的负载测试软件,如果你是它的测试工程师,你应该怎样测试它呢?
    如果你设计好了对它的测试方案,那么,以上的你的这些疑问,不是都能解决了吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    3#
     楼主| 发表于 2007-1-28 17:30:01 | 只看该作者

    回复 #2 robust 的帖子

    要测试LoadRunner,思路可能是有,实现可能是个挑战!sdlkfj5

    可以虚拟一个场景去访问网内一已知的服务器,然后针对LR的操作,看服务器是做哪些响应,响应是否正确,是否达到LR场景的目的。

      但实现起来恐怕不这么容易了,我可以模拟一个少量Vuser的场景。但服务器端收到哪些请求,做出哪些响应,如何判断与定量?sdlkfj7
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
     楼主| 发表于 2007-1-28 17:31:22 | 只看该作者

    疑问的补充

    硬件上也有些问题一直让我不解。假若有10000个用户有访问sohu网站首页,如果每个人一条线的话就有10000条网络路径在访问。如果使用LoadRunner在一台机器上模拟10000个用户同时访问,一台机的网络带宽最多就千兆啦,且网络利用率不可能100%。sdlkfj6

         就上面提到的第2点,访问上机器是一直在向服务器发送访问请求,服务器接受到请求后发送所需的资源然后发送,客户端接受资源显示资源。LoadRunner是如何模拟这种场景的呢(原理)?假若的10000个用户,发送一次请求,服务器响应并发送资源。若1M/客户端,1000个客户端就约10个G的资源了!10G的资源,服务器传送出来需要多长时间呢?sdlkfj5

        仅在一台PC机上运行LoadRunner在模拟这10000个客户访问场景,是否给服务器发送了10000次重复的请求?服务器是否就传送了10000次同样的资源?如果没有,那这种模拟是否能达到我们的负载/压力的目的?sdlkfj4

       学习一个软件的操作,只要有足够的资源,给我时间,我想要学会操纵它并不是一件难事。但仅仅操作是远远不够的,就像软件测试的朋友们必需要懂产品业务一样。sdlkfj7
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-1-28 18:49:37 | 只看该作者
    原帖由 higkoo 于 2007-1-28 17:30 发表
    要测试LoadRunner,思路可能是有,实现可能是个挑战!sdlkfj5

    可以虚拟一个场景去访问网内一已知的服务器,然后针对LR的操作,看服务器是做哪些响应,响应是否正确,是否达到LR场景的目的。

      但实现起 ...


    实现起来也不难啊!可以使用sniffer工具来抓包。现在的sniffer工具做得越来越强大,有些除了协议分析以外,还有统计分析功能了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-1-28 18:54:25 | 只看该作者
    原帖由 higkoo 于 2007-1-28 17:31 发表
    硬件上也有些问题一直让我不解。假若有10000个用户有访问sohu网站首页,如果每个人一条线的话就有10000条网络路径在访问。如果使用LoadRunner在一台机器上模拟10000个用户同时访问,一台机的网络带宽最多就千兆 ...

    看了lz的回帖,感觉网络知识需要加强。这些问题,大部分是对网络的认识上的问题。你可以寻找相关的资料学习。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2007-1-29 09:19:43 | 只看该作者

    回复robust

    原帖由 robust 于 2007-1-28 18:54 发表

    看了lz的回帖,感觉网络知识需要加强。这些问题,大部分是对网络的认识上的问题。你可以寻找相关的资料学习。


      
      看来还是得下点功夫才行了! 测试真的是需要面面具到sdlkfj7
    入测试这行之前,学习编程代码;
    入行之后,学习网络及配置;
    业务流程,需要行业(医学)业务流程;
      学习测试工具,又牵扯到很多相关知识,想找点捷径偷偷懒都不成……  sdlkfj5


    学习,学习,再学习……sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2007-1-29 09:30:00 | 只看该作者
    原帖由 higkoo 于 2007-1-28 16:21 发表
       刚学LR不久,相对QTP而言,对LR的原理感觉有些难理解。
       QTP很直观,回放过程是看得见的,用户操作和界面都可呈现在眼前。但LR就不是,给我感觉是一直在执行代码。且结果也是LR分析出的图表和日志。
        ...

    对于1,2:LoadRuuner可以做到每个用户每次迭代都不用IE缓存,在调用web_url之前加上web_add_header函数即可。本质上还是要对HTTP协议的了解。
    对于3:LR Controller的数据统计是异步的,LR显示的用户数和请求数是对前一段时间的汇总,不是实时的。要知道准确的数据,是要在服务端进行统计才科学!
    其实利用抓包软件是可以了解到LR的运行机制的,LR只是工具,对业务模型的把握和协议的理解才是最重要的:)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2007-1-29 12:25:36 | 只看该作者

    关于LoadRunner原理

    请问你有LoadRunner原理方面的资料吗?
    我不是计算机专业毕业,现在所用的知识都是后天的。
    测试的知识面太广,有时真感觉心有余而力不足。

    其实想了解LoadRunner的原理,不去盲目的相信,目的是为了让我去相信LR。

    理解原理后,学起来可能不会这么困难。sdlkfj2
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2007-1-29 14:07:00 | 只看该作者
    原帖由 higkoo 于 2007-1-29 12:25 发表
    请问你有LoadRunner原理方面的资料吗?
    我不是计算机专业毕业,现在所用的知识都是后天的。
    测试的知识面太广,有时真感觉心有余而力不足。

    其实想了解LoadRunner的原理,不去盲目的相信,目的是为了让我去 ...

    LoadRunner原理要自己在工作中摸索和总结,没有现成的,就算有也可能对你没有帮助。
    不是计算机专业一样可以把测试工作做好的,很多搞测试的都不是科班出身的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2007-1-29 17:01:05 | 只看该作者
    也想过这样的一个问题就是不知道怎么实现的
    也是刚做测试,觉得好多东西都要学,有些时候真的好迷茫
    所以每天都上来看看各位的高见。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    12#
     楼主| 发表于 2007-1-30 12:33:37 | 只看该作者

    我是这样想的

    假如有10个不同用户打开sohu网站,那么每个IE都会把网页资源下载到自己的机器上。
    根据浏览器设置,访问不同页面,IE缓存里的数据可能会不停的增加/修改/删除。
    而用LoadRunner是否能做到这一点呢?

    如果一个人有1M的网络访问量,1万个用户就10G了!

      1万个用户100秒内访问sohu网站应该不算太大压力吧。相当于100秒服务器就下载了10G的内容给正在访问的1万个用户。

    而LoadRunner就在一台机上执行脚本,模拟真的有效吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2007-1-30 12:42:34 | 只看该作者
    虚拟的用户不用和实际的一样真实的去调用资源的吧````
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    14#
     楼主| 发表于 2007-1-30 14:28:59 | 只看该作者
    原帖由 bzcy 于 2007-1-30 12:42 发表
    虚拟的用户不用和实际的一样真实的去调用资源的吧````


      如果不用和实际一样,如何保证测试结果的权威性?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2007-1-30 14:45:49 | 只看该作者
    我用LR做过C/S架构的系统,曾经用真实的用户登陆进去,发现虚拟的100个用户都存在,并且可以看到这些用户的操作和真实的用户没有什么很大的差别,无论是CPU、内存,还是网络占用率等都会有变化
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2007-1-30 22:30:09 | 只看该作者
    原帖由 higkoo 于 2007-1-30 12:33 发表
    假如有10个不同用户打开sohu网站,那么每个IE都会把网页资源下载到自己的机器上。
    根据浏览器设置,访问不同页面,IE缓存里的数据可能会不停的增加/修改/删除。
    而用LoadRunner是否能做到这一点呢?

    如果 ...



    老兄到底是想用LR给服务器加压测试,还是想测试自己的工作站和网络带宽??   不能本末倒置哦。。 :)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-12-26 13:34
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    17#
     楼主| 发表于 2007-1-31 08:49:41 | 只看该作者

    放心去学吧

    原帖由 charmer 于 2007-1-30 14:45 发表
    我用LR做过C/S架构的系统,曾经用真实的用户登陆进去,发现虚拟的100个用户都存在,并且可以看到这些用户的操作和真实的用户没有什么很大的差别,无论是CPU、内存,还是网络占用率等都会有变化



    嗯,那这样我就放心了……  sdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2007-1-31 09:37:21 | 只看该作者
    原帖由 winmeeasy 于 2007-1-29 14:07 发表

    LoadRunner原理要自己在工作中摸索和总结,没有现成的,就算有也可能对你没有帮助。
    不是计算机专业一样可以把测试工作做好的,很多搞测试的都不是科班出身的。


    对于lr的原理,我想应该和其它性能测试工具的原理是一样的。

    一般来说,性能测试工具都有一个虚拟用户脚本产生器(vugen),压力产生器和用户代理、压力调度和监控系统、压力结果分析工具
    对于虚拟用户产生器来讲,主要的功能就是通过代理接收从客户端发送的数据包,记录并转发给服务器,接收服务器端的数据包,记录并转发给客户端。除此之外,虚拟用户脚本生成器在截获数据之后,根据录制时使用的协议对数据包分析,用脚本函数记录下来。并提供了编译和调试的环境,用于对脚本的优化和修改

    压力产生器用于根据压力调度系统的命令,产生实际的负载

    压力调度和监控系统:压力调度工具可以根据用户的场景要求,设置不同的Vu数量等 监控系统主要是用于对数据库、服务器的性能计数器等的监控

    压力结果分析工具 主要是将获取的性能计数器的信息,生成相应的分析图
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2009-3-9 18:12:56 | 只看该作者
    如此好贴,谁敢灌水?
    学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2009-3-10 12:00:11 | 只看该作者

    回复 4# 的帖子

    客户端虚拟用户是要耗资源的,不同架构的系统有所不同,1个虚拟用户耗大约0.5~2.5m内存。即1G内存的客户端建议不超过模拟200用户。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-21 18:23 , Processed in 0.086967 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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