如何对动态 url 进行负载测试?
How to do a load testing for a dynamic url?
我正在尝试进行负载测试,但遇到了一些问题。
Web 应用程序中的基本概念是用户提出请求,应该生成响应链接。(就像 google 搜索我们在其中输入请求并单击提交,然后在下一页上我们得到响应(网站链接).
步骤如下
- 浏览器的初始页面有一个文本区域,用户在文本区域中输入请求并单击提交
- 回复链接将在下一页给出。选择相应链接至少需要 30 秒。
第二页的url是动态的url。
我用blazemter记录了过程,得到了jmx。
在使用 jmeter 中的 jmx 文件测试 100 个用户时,它采用了与 blazemeter 记录相同的 url(第二页 url)
对于所有 100 个用户,因此我们在毫秒内获得所有 100 个用户的响应链接。
如何确保 100 个用户使用 100 个动态 url?
您需要添加一个 CSS/JQuery extractor 作为第一个请求的子项,它将随机提取 link 并在以下模拟点击的 HTTP 请求中使用它。
此提取器使用此语法进行提取:
并且你需要使用0作为数字来保证随机性。
如果您在 SmartJMX 模式下导出记录,相关的 Regular Expression Extractors Post-处理器将被添加到您的脚本中以处理动态参数(如果有的话)所以每个 JMeter 线程(虚拟用户)都将获得自己的动态 URL。
我会建议 运行 你的测试首先要有 2-3 个用户,并启用 View Results Tree 侦听器,这样你就可以检查请求和响应的细节,并确保你的测试正在做它应该做的事情在模拟大负载之前要做的。
查看 How to Cut Your JMeter Scripting Time by 80% 了解更多信息。
我正在尝试进行负载测试,但遇到了一些问题。 Web 应用程序中的基本概念是用户提出请求,应该生成响应链接。(就像 google 搜索我们在其中输入请求并单击提交,然后在下一页上我们得到响应(网站链接).
步骤如下
- 浏览器的初始页面有一个文本区域,用户在文本区域中输入请求并单击提交
- 回复链接将在下一页给出。选择相应链接至少需要 30 秒。
第二页的url是动态的url。
我用blazemter记录了过程,得到了jmx。 在使用 jmeter 中的 jmx 文件测试 100 个用户时,它采用了与 blazemeter 记录相同的 url(第二页 url) 对于所有 100 个用户,因此我们在毫秒内获得所有 100 个用户的响应链接。
如何确保 100 个用户使用 100 个动态 url?
您需要添加一个 CSS/JQuery extractor 作为第一个请求的子项,它将随机提取 link 并在以下模拟点击的 HTTP 请求中使用它。
此提取器使用此语法进行提取:
并且你需要使用0作为数字来保证随机性。
如果您在 SmartJMX 模式下导出记录,相关的 Regular Expression Extractors Post-处理器将被添加到您的脚本中以处理动态参数(如果有的话)所以每个 JMeter 线程(虚拟用户)都将获得自己的动态 URL。
我会建议 运行 你的测试首先要有 2-3 个用户,并启用 View Results Tree 侦听器,这样你就可以检查请求和响应的细节,并确保你的测试正在做它应该做的事情在模拟大负载之前要做的。
查看 How to Cut Your JMeter Scripting Time by 80% 了解更多信息。