51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3405|回复: 8
打印 上一主题 下一主题

[求助] Loadrunner做并发下载文件遇到的问题。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-5-24 16:59:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近遇到一个项目,要求测试25个用户并发下载文件的速率,文件为10M大小,下载是通过网上普遍的手段,做关联,写到文件里面的。测试出来的时间平均下载时间为0.45秒左右,也就是说0.45秒下载了25X10M=250M文件,速度达到了500MB/s 理论上千兆网络最大下载速度才125MB/s,由此看出测试结果明显错了,但是不知道错在哪里,求大神指教。。。

PS:事物开始放在 download请求之前,事物结束放在写完文件之后。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2018-5-24 20:56:23 | 只看该作者
有人知道吗??
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1509 天

    连续签到: 3 天

    [LV.Master]测试大本营

    3#
    发表于 2018-5-28 10:46:30 | 只看该作者
    脚本贴上来分析下。另外,你估计没有设置检查点。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1509 天

    连续签到: 3 天

    [LV.Master]测试大本营

    4#
    发表于 2018-5-28 10:46:41 | 只看该作者
    脚本贴上来分析下。另外,你估计没有设置检查点。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2018-5-29 08:52:28 | 只看该作者
    qqq911 发表于 2018-5-28 10:46
    脚本贴上来分析下。另外,你估计没有设置检查点。

    文件下载是成功了的,就是时间不对!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2018-5-29 09:08:33 | 只看该作者
    qqq911 发表于 2018-5-28 10:46
    脚本贴上来分析下。另外,你估计没有设置检查点。

    lr_start_transaction("download");

    //        lr_think_time(8);
            web_reg_save_param_ex(
                    "ParamName=filecontent",
                    "LB=",
                    "RB=",
                    SEARCH_FILTERS,
                    "Scope=BODY",
                    LAST);
            web_url("TopicFileServlet",
                    "URL=http://172.20.3.73:8080/FEMAS/TopicFileServlet?action=controldownload&fileId=901200000sems000000246409c2393ca&isDownload=true",
                    "Resource=1",
                    "RecContentType=application/octet-stream",
                    "Referer=",
                    "Snapshot=t144.inf",
                    LAST);
            flen=web_get_int_property(HTTP_INFO_DOWNLOAD_SIZE);

    //        lr_output_message(flen);

            strcat( file,"E:\\testFile\\testfile" );
            strcat( file,lr_eval_string("{fileName}"));
            strcat( file,".doc" );
           

        if(flen>0)
        {
            if((filedes=fopen(file,"wb"))==NULL)
            {
                            lr_output_message("Open File Failed!", lr_eval_string("{filecontent}"));
                            return -1;
            }
                    fwrite( lr_eval_string("{filecontent}"),flen,1,filedes );
                    fclose( filedes );
        }
            lr_end_transaction("download", LR_AUTO);
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1509 天

    连续签到: 3 天

    [LV.Master]测试大本营

    7#
    发表于 2018-5-30 19:09:38 | 只看该作者
    你在并发时候,在runtime-setting里面,把缓存去掉,每次都要以新机器的状态去跑。
    第二个,在跑的时候,看下Controller的缓存目录里面,下载下来的文件有几个,如果测下载的话,正常情况,成功多少笔交易,就应该有多少个文件的,而且每个文件的大小都应该正确。
    第三个,看你脚本里面,下载的文件都是同一个,这块可以考虑参数化,下载不同的文件。
    第四个,在并发时候,去服务器看网络的上下行速率,如果一直在下载的话,应该是能把带宽占满的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2018-5-31 16:08:05 | 只看该作者
    qqq911 发表于 2018-5-30 19:09
    你在并发时候,在runtime-setting里面,把缓存去掉,每次都要以新机器的状态去跑。
    第二个,在跑的时候, ...

    1、Runtime-setting下的 simulate a new user on each iteration 和其下的 clear cache on each iteration已经勾选;
    2、文件个数基本是正确的(在下载了10000多次后悔出现丢失几个文件的情况);
    3、我也试过参数化文件ID下载多个文件,下载时间结果一致,同样不超过1s;
    4、在跑场景的时候,发现执行下载之前其他事物的时候网络带宽使用量 大概在50Mbps左右,当执行到一次download下载事务后windows资源管理器监控显示带宽暂用率为0Mbps,之后一直都是0Mbps。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1509 天

    连续签到: 3 天

    [LV.Master]测试大本营

    9#
    发表于 2018-6-26 12:01:14 | 只看该作者
    这样看的话,还是只下载了一次,带宽没有被占用,就是说实际上并没有大量的网络传送动作。
    这边你可以再用lr自带的ip虚拟工具,虚拟多个ip测试下。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-6 19:39 , Processed in 0.073989 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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