Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.1 使用JMeter对Rails 3.1应用程序进行负载测试时出现错误422_Ruby On Rails 3.1_Jmeter_Load Testing - Fatal编程技术网

Ruby on rails 3.1 使用JMeter对Rails 3.1应用程序进行负载测试时出现错误422

Ruby on rails 3.1 使用JMeter对Rails 3.1应用程序进行负载测试时出现错误422,ruby-on-rails-3.1,jmeter,load-testing,Ruby On Rails 3.1,Jmeter,Load Testing,我有一个Rails 3.1应用程序,我正在尝试使用JMeter进行负载测试。 我们的网站以收集信息为目标,因此用户先注册,然后浏览问答工作流,回答一些问题后,他们会得到一些有用的信息。 我的JMeter测试配置为遍历注册,然后遍历完整的Q&A工作流 环境详情: RedHat Enterprise 6 Rails 3.1 Ruby 1.9.2p290 DB: Postgres 9 我已经运行了20个和100个并发线程的测试,并以每秒1个线程的爬升时间运行,结果还可以。但是,只要我增加启动时间,使

我有一个Rails 3.1应用程序,我正在尝试使用JMeter进行负载测试。
我们的网站以收集信息为目标,因此用户先注册,然后浏览问答工作流,回答一些问题后,他们会得到一些有用的信息。
我的JMeter测试配置为遍历注册,然后遍历完整的Q&A工作流

环境详情:

RedHat Enterprise 6
Rails 3.1
Ruby 1.9.2p290
DB: Postgres 9
我已经运行了20个和100个并发线程的测试,并以每秒1个线程的爬升时间运行,结果还可以。但是,只要我增加启动时间,使一秒钟内产生多个线程(甚至每秒2个),大约一半的注册调用就会失败,并出现错误422。一旦发生这种情况,对于相同的线程,问答工作流就会中断,因为我们假设有一个有效的用户在回答问题

我试图找出应用程序代码、服务器配置或JMeter设置是否存在问题


如果您对如何进一步解决此问题有任何想法或建议,我们将不胜感激。

这可能是JMeter端的cookie问题,其中非唯一cookie被分配给多个线程

此扩展引入了422(会话间隔太小)
响应代码。它由UAS或代理在请求时生成
包含会话过期标头字段,其持续时间低于
服务器的最小计时器。422响应必须包含最小SE 具有该服务器的最小计时器的标头字段