2012-10-08 101 views
1

我们在Heroku上的暂存服务器上遇到了一个有趣的问题。每个post/put/delete请求冻结约10次或更多,其中一些最终超时导致Heroku H-12超时错误。 另一个有趣的细节:请求似乎在超时后处理,因为数据库记录得到更新。我们不处理大数据,我们只是试图在数据库中的一个记录上更新一个字段。 我们的本地环境(localhost:3000)正常运行。我们没有任何阻止行为(发送电子邮件,处理大量查询......) 我们尝试激活/停用缓存(dalli),资产编译,我们切换了暂存服务器的实例。我们在staging.rb中尝试了不同的设置。POST请求的请求超时(H-12)

有关我们如何尝试排除此故障的任何建议?

2012-10-08T21:32:15+00:00 app[web.1]: Started PUT "https://stackoverflow.com/users/151" for 67.180.34.143 at 2012-10-08 21:32:15 +0000 
2012-10-08T21:32:15+00:00 app[web.1]: Processing by UsersController#update as HTML 
2012-10-08T21:32:15+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"n4xK0Esi2zgBqSRtDTu3IEhnUAv0//bAkjLnKyk7xFk=", "user"=>{"role"=>"2", "designer_status"=>"1", "invitation_limit"=>"56"}, "commit"=>"Update", "id"=>"151"} 
2012-10-08T21:32:45+00:00 heroku[router]: Error H12 (Request timeout) -> POST ziba-exygy-2.herokuapp.com/users/151 dyno=web.1 queue= wait= service=30000ms status=503 bytes=0 
2012-10-08T21:32:46+00:00 app[web.1]: Redirected to https://ziba-exygy-2.herokuapp.com/users 
2012-10-08T21:32:46+00:00 app[web.1]: Completed 302 Found in 30304ms (ActiveRecord: 53.7ms) 
2012-10-08T21:32:46+00:00 app[web.1]: cache: [POST /users/151] invalidate, pass 
2012-10-08T21:32:46+00:00 app[web.1]: User Load (3.7ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 42 LIMIT 1 
2012-10-08T21:32:46+00:00 app[web.1]: User Load (12.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 151 LIMIT 1 
2012-10-08T21:32:46+00:00 app[web.1]: (2.8ms) BEGIN 
2012-10-08T21:32:46+00:00 app[web.1]: User Exists (3.2ms) SELECT 1 FROM `users` WHERE (`users`.`email` = BINARY '[email protected]' AND `users`.`id` != 151) LIMIT 1 
2012-10-08T21:32:46+00:00 app[web.1]: (3.1ms) COMMIT 
2012-10-08T21:32:46+00:00 app[web.1]: (2.7ms) BEGIN 
2012-10-08T21:32:46+00:00 app[web.1]: CACHE (0.0ms) SELECT 1 FROM `users` WHERE (`users`.`email` = BINARY '[email protected] blablabla.com' AND `users`.`id` != 151) LIMIT 1 
2012-10-08T21:32:46+00:00 app[web.1]: (11.6ms) UPDATE `users` SET `invitation_limit` = 56, `updated_at` = '2012-10-08 21:32:31' WHERE `users`.`id` = 151 
2012-10-08T21:32:46+00:00 app[web.1]: (2.9ms) COMMIT 
+0

这看起来像是serverfault.com的候选人 – RichardTheKiwi

回答

0

原来,我们的登台服务器没有包含活服务器上的所有Heroku插件。 其中一个缺失的是飞狮身人面像。我们的一些模型假设狮身人面像在那里,并会尝试使用它导致这种行为。