How to debug a Heroku request timeout error

扶醉桌前 提交于 2019-12-10 19:46:07

问题


How would I find out what is causing h12 timeout errors on heroku?

It happens randomly on different pages/controllers.

This is the error that I get from the logs

Processing by UsersController#new as HTML
2013-08-15T13:08:54.718157+00:00 app[web.1]: Started GET "/signup" for 105.226.239.198 at 2013-08-15 13:08:54 +0000
2013-08-15T13:08:54.744390+00:00 app[web.1]:   Rendered communal/_error_messages.html.erb (0.6ms)
2013-08-15T13:09:24.714225+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path=/signup host=www.goodwordlabs.com fwd="105.226.239.198" dyno=web.1 connect=3ms service=30000ms status=503 bytes=0
2013-08-15T13:09:25.518168+00:00 app[web.1]: E, [2013-08-15T13:09:25.517428 #2] ERROR -- : worker=0 PID:5 timeout (31s > 30s), killing
2013-08-15T13:09:25.554402+00:00 app[web.1]: E, [2013-08-15T13:09:25.554166 #2] ERROR -- : reaped #<Process::Status: pid 5 SIGKILL (signal 9)> worker=0
2013-08-15T13:09:25.980010+00:00 app[web.1]: I, [2013-08-15T13:09:25.979551 #26]  INFO -- : worker=0 ready
2013-08-15T13:08:51.088169+00:00 heroku[router]: at=info method=GET path=/assets/clients/client1-03dfd2afecf092e15b9e3350d04acdc6.png host=www.goodwordlabs.com fwd="105.226.239.198" dyno=web.1 connect=2ms service=7ms status=304 bytes=0

回答1:


Here is how you should proceed

  1. Install a application monitoring solution newrelic. It would give you list of URL that are timing out. New relic is paid, but there is free version of new relic too.
  2. Now, try to isolate & reproduce timeout error. because if you can't reproduce it. you can't fix it.



回答2:


you can try sending request to site(www.goodwordlabs.com) from heroku console. Run heroku console with this heroku run rails console

or try sending request with same parameters from Curl of terminal



来源:https://stackoverflow.com/questions/18253632/how-to-debug-a-heroku-request-timeout-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!