JMeter在线购买负载测试

时间:2015-07-30 03:13:18

标签: web jmeter performance-testing load-testing

我想谈谈我面临的一些问题。目前使用JMeter测试网站上的购买火车票。我的问题是我该如何测试网站。例如,用户需要填写数量和信息才能购买火车票。填写完成后,有"确认"按钮单击并链接到支付网关。我想测试,服务器是否能够在1秒内在确认按钮上保持100次而不会降低性能。我想查看用户按下确认按钮时服务器的延迟,ms的结果。我尝试使用HTTPS测试记录器,但似乎是一种测试服务器的错误方法。有人可以提供解决方案或指导我吗?非常感谢你。

1 个答案:

答案 0 :(得分:1)

HTTP(S)测试脚本记录器适用于构建测试场景“骨架” - 它基本上加快了初始测试计划草稿创建的过程。在其他情况下,您必须使用嗅探器工具来捕获浏览器请求并手动创建相关的HTTP Request采样器。

  1. 您需要做的第一件事是验证记录(或开发)脚本如何为单个用户工作。添加View Results Tree侦听器并检查响应。如果一切都很好 - 你很高兴。如果不是(即如果有错误或者您遇到一个页面而不是执行事务) - 您需要更深入地查看请求并且可能需要进行一些关联 - 使用JMeter提取某些响应位的过程PostProcessor,将其转换为JMeter Variable并将其作为参数添加到下一个请求中。
  2. 一旦您对场景的行为方式感到满意,请不要忘记禁用“查看结果树”侦听器。现在是定义加载模式的时候了。 JMeter的工作原理如下:

    • 提升时间定义的时间范围内启动线程(每个线程代表一个虚拟用户)。
    • 每个线程开始颠倒(或根据Logic Controllers
    • 执行采样器
    • 如果没有更多的采样器要执行或循环要迭代 - 线程正在关闭。

    因此,请确保提供足够的循环,以便您的线程有足够的工作要做,否则您可能会遇到一半线程已完成其工作且其中一半甚至尚未启动的情况。通过JMeter插件提供的Ultimate Thread Group非常有帮助

  3. 如果您的目标是查看您的服务器是否能够在合理的时间范围内提供100个并发“确认”而且没有错误 - 请使用Synchronizing Timer

  4. 使用non-GUI mode运行测试。测试完成后,您可以再次打开JMeter GUI,添加ie Aggregate Report侦听器,它将计算并可视化响应时间,连接时间,延迟等指标。