您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > jmeter测试HTTP文件上传实例
1、分析系统并发数的列子假定每天从该站乘坐地铁的人数为5万人次,每天的早高峰为7-9点,晚高峰为6-7点,根据8/2原则,80%的乘客(人次)会在高峰期乘坐该站的地铁,则平均每秒到达地铁检票口的人数为(50000×80%)/(3×60×60)=3.7~=4人,当然这个4人不能作为计算所用的并发值,因为对此时的受压入口检票口来说,4只是每秒到达的压力(即请求)数量,考虑到安检、入口关闭等因素,实际堆积在检票口的人数可能要大于这个数目,假定每个人需要3秒左右才能入站,则实际并发应该为(4人/秒)×3秒=12。当然我们必须指出,这种方法得到的情况并非极端值,因为即使作为早晚高峰,人数的分布也不是平均的(具体情况需要根据实际数据进行分析),但对大部分系统的大部分场景,我们可以用(用户总量/统计时间)×影响因子(一般为3,为经验系数)来进行估算。2、注意:1、为了上传文件,必须设置Usemultipart/form-dataforPOST,否则request将不包含上传的文件。3、另外,必选添加文件的参数名称,否则在Server段用Servlet进行解析时,无法获得文件。如:将待上传文件路径参数化,即将待上传文件路径保存到一个.csv文件或.dat文件里面在“同请求一起发送文件”参数化待上传文件。参数名称写当前页面请求的实际参数名称,不清楚可以到Badboy录制脚本时查看。MIME类型写实际录制脚本上传文件的类型,这里是application/vnd.ms-excel,更多参考百度。注意:参数化的文件路径和文件名称不用中文用英文,以防出现乱码,读取不到文件。4、错误:图上的方式,每次运行只能调用到一次文件,录制脚本也是一个参数fileField,所以图上参数方式是错误的,所以要将上传文件参数化,即将待上传文件进行路径参数化。正确:上传文件实例:路径参数化,把你要上传的文件的路径写在这个csv文件里面或.dat文件,像数据参数化一样,只是这里的文件内容是待上传文件路径参数,而其他地方写的是要上传数据的字段,如DDS中创建账户的参数化方式。5、然后如果你是一个thread,上传的request是放在loopcontroller下的,你把loopcount写成你要上传的次数,那么结果是它会多次上传,但是每次都只上传第一个文件。如果改成这样就可以:要上传3个文件,那就把thread,改成并发为3,那第一个thread会上传第一个,第二个thread上传第二个文件,第三个thread会上传第三个6、把你要上传的文件的路径写在这个csv文件里面或dat文件都可以7、如果感觉发现脚本设置无错,录制无错,但是就是没成功,尝试检查是否哪里写错参数文件名或少写了什么括号},是否参数名称错误等,检查脚本正确的参数名称可以通过Badboy检查那个参数名称就写实际的从参数名称,这里叫filenameGet方法对服务器没什么压力,不用测试并发系统用户数与同时在线人数在实际的性能测试中,经常接触到与并发用户相关的概念还有“系统用户数”与“同时在线人数”下面通过一个实例来描述他们之间的差别。假设有一个网站,注册用户才能登录使用各种功能,如上传头像,阅读专家文章等。该系统有20万注册用户,这就是说有20万用户可以使用这个网站的所有功能,20万就是这个网站的“系统用户数”,网站有一个在线统计功能,从统计数据中可以看到,同时登录网站的人数的最高记录是2万,就是有2万人同时用浏览器打开着这个网站。2万就是“同时在线人数”那么系统的并发用户数是多少呢?2万么?NO!这2万只表示在系统最高峰时有这么多用户登录了网站,并不表示实际服务器的承受压力。因为服务器承受压力还与具体的用户访问模式相关,在这2万用户中考察某一个时间点对用户发出请求数,可以会大大缩水。那么,该系统的服务端承受的最大并发访问数是多少呢?这个取决于业务并发用户数和业务场景,一般可以通过服务器日志的分析得到。求并发用户数公式在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务的角度关注应该设置多少个并发数比较合理。下面找一个典型的上班签到系统,早上8点上班,7点半到8点的30分钟的时间里用户会登录签到系统进行签到。公司员工为1000人,平均每个员上登录签到系统的时长为5分钟。可以用下面的方法计算。C=1000/30*5=166.7C表示平均并发用户数,那么对这个签到系统每分钟的平均在线用户数为166当然,在性能测试上,任何公式都不是严谨的,最重要的是对系统做出有效正确的分析。
本文标题:jmeter测试HTTP文件上传实例
链接地址:https://www.777doc.com/doc-2882023 .html