我正在成功运行100到1k用户的jmeter测试,但我怀疑响应时间是否高于预期 .
我的测试计划包括:登录和登录后,获取测试页面,发布测试页面,获取搜索页面,发布搜索页面....
总共5个获得和5个帖子形式 .
对于相同数量的用户,如果我减少页数,则总响应时间减少
我应该单独对页面进行测试吗?
我是否应该减少实际数量的用户数量(5页* 20个用户= 100个并发用户) - 用于性能测试?
或者我应该使用分布式系统?
什么是最佳做法?
当前设置:i5,8GB Ram,一台带Jmeter 3.1的Windows机器
3 回答
你加载测试应该是现实的,否则没有意义 . 您需要尽可能地模拟预期的用户行为,只有这样您才能获得真实的生活画面 .
因此,您需要实施您的测试方案以匹配方式,您的网站将在现实世界中使用 . 如果它已经存在,您可以使用Access Log Sampler来重放流量 . 如果不是,你可以考虑"user groups",如:
50%未经过身份验证的用户将浏览该网站
20%的经过身份验证的用户将浏览该网站
5%的用户将处于登录过程中
3%的用户会搜索某些内容
等
您可以使用不同的Thread Groups来表示不同的用户组,并使用Throughput Controller来控制在线程组内执行的采样器的频率 . 有关如何以实际方式分发负载的更多信息,请参阅Running JMeter Samplers with Defined Percentage Probability文章 .
有许多因素会影响总体响应时间 . 用户/页面等的数量也很少 . 您对性能测试有什么具体要求吗?如果您不确定非功能性要求,那么我认为您的所有问题都将在这些帖子中澄清 -
http://www.testautomationguru.com/jmeter-performance-testing-application-of-littles-law-to-workload-models/
http://www.testautomationguru.com/jmeter-tips-tricks-for-beginners/
我想你可能会遇到jmeter问题 . 您使用的JVM堆和GC算法是什么?你如何衡量每一页的表现?如果您使用“事务控制器”来衡量性能,那么jmeter的任何缓慢都会影响您的事务控制器值 .
您是否与应用程序日志相关联,以确切地了解当您减少页面数时应用程序确实在减慢速度?如果您的应用程序响应时间不变,我认为jmeter是这里的罪魁祸首 . 将所有测量值移至采样器级别而不是事务控制器并更新结果