2012-10-08 416 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插件。 其中一個缺失的是飛獅身人面像。我們的一些模型假設獅身人面像在那裏,並會嘗試使用它導致這種行爲。