使用 jmeter 进行 Rails 应用负载测试

发布于 2024-10-10 17:36:03 字数 746 浏览 7 评论 0原文

我正在尝试使用 jmeter 加载测试 Rails 应用程序,但尚未通过登录。

在 application_controller 中,我注释掉了protect_from_forgery,以便不必使用authenticity_token。

现在看起来来自 idex/home 页面响应的应用程序会话 id cookie 没有被 jmeter 的 http cookie 管理器保存,或者 cookie 被 jmeter cookie 管理器保存并且没有在请求中传递。

这就是我从 jmeter 发布的帖子在 tomcat 访问日志中的样子:

192.168.247.13 [07/Jan/2011:11:01:27 -0500] r:200 d:58 'POST /dash/account/login HTTP/1.1' 2088

这是从浏览器(Chrome)中登录的帖子的样子:

192.168.247.13 [07/Jan/2011:10:56:51 -0500] r:200 d:112 'POST /dash/account/login HTTP /1.1' 16

由于某种原因,来自浏览器的帖子可以正常工作并重定向到下一页。来自 JMeter 的帖子返回视图 (login.erb) 而不是重定向。另一个指示要么是 cookie 管理器没有保存会话 cookie,要么是 jmeter 没有在请求中发送会话 cookie。

有人在使用 jmeter 和 Rails 应用程序时遇到过这个问题吗?有什么建议吗?

提前致谢。

I am trying to load test a rails app with jmeter but have not gotten pass login.

In application_controller I commented out protect_from_forgery so as not to have to use the authenticity_token.

It now looks like the app session id cookie from idex/home page response is not getting saved by jmeter's http cookie manager or the cookie is getting saved by the jmeter cookie manager and not getting passed in the request.

This is what my post from jmeter looks like from tomcat access log:

192.168.247.13 [07/Jan/2011:11:01:27 -0500] r:200 d:58 'POST /dash/account/login HTTP/1.1' 2088

This is what the post to login looks like from a browser (Chrome):

192.168.247.13 [07/Jan/2011:10:56:51 -0500] r:200 d:112 'POST /dash/account/login HTTP/1.1' 16

For some reason, the post from the browser works and it redirects to next page. The post from JMeter returns the view (login.erb) instead of a redirect. Another indication that either the cookie manager is not saving the session cookie or the session cookie is not being sent in the request by jmeter.

Any one ever run into this issue with jmeter and a rails app? Any suggestions?

Thanks in advanced.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

星星的轨迹 2024-10-17 17:36:03

问题不在于 cookie 管理器。 Cookie 管理器工作得很好。相反,我需要添加标头管理器并添加以下标头和值:

标头:X-Requested-With 值:XMLHttpRequest

Issue was not with cookie manager. Cookie manager was working just fine. Rather i needed to add a header manager and add the following header and value:

Header: X-Requested-With Value: XMLHttpRequest

您需要从登录页面提取authenticity_token并将其放入您的表单帖子中。

说明在这里:
http://ertw. com/blog/2010/06/29/load-testing-a-rails-app-and-the-authenticity_token/

You need to extract the authenticity_token from the login page and put it into your form post.

Instructions here:
http://ertw.com/blog/2010/06/29/load-testing-a-rails-app-and-the-authenticity_token/

浅紫色的梦幻 2024-10-17 17:36:03

在您的登录页面上,您是否启用了“重定向”?您还需要对要访问的每个页面都有一个 JMeter 请求。

因此,您的脚本需要如下所示:

  • Cookie Manager
  • Thread Group
    -- POST 登录页面
    -- 获取登陆页面
    -- 其他页面

On your login page, do you have "Redirect" enable? You also need to have a JMeter request for every page you want to access.

So, you script would need to look like this:

  • Cookie Manager
  • Thread Group
    -- POST Login Page
    -- GET landing page
    -- other pages
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文