Heroku托管的MeteorJS应用突发H12超时与应用错误如何排查
Heroku托管Meteor应用突发批量H12超时故障求助
故障基本情况
- 应用配置:MeteorJS应用托管于Heroku平台,使用内存配置充足的高规格Professional M Dyno
- 故障现象:运行过程中某一时刻突发大量
H12 Request timeout错误,随后Heroku向所有访问用户返回Application error错误页;服务重启后故障立即恢复,但暂未找到有效方案避免同类问题复发
已完成初步排查结论
- 故障触发时点不存在邮件发送、文件上传等可识别的长耗时运行任务,当前无法追溯应用报错前一刻的具体运行状态
- 故障前监控图表中存在的大量30秒响应耗时记录为日常运行固有现象,已知是Meteor使用的socket连接回退为long polling模式导致的正常表现,无法作为故障定位的有效依据
故障佐证材料
故障监控截图

故障时点Heroku路由器日志快照
366 <158>1 2022-06-15T06:20:35.674213+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=POST path="/sockjs/859/upwpunj4/xhr" host=www.website.com request_id=dea10dbf-919a-440d-afbb-87f24d6b8bea fwd="37.19.205.195,172.70.222.217" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=http 373 <158>1 2022-06-15T06:20:45.911709+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/696/qq_433yi/websocket" host=www.website.com request_id=761c71de-0f1f-4fac-ad31-db8aed615f54 fwd="151.192.225.202,172.70.92.184" dyno=web.1 connect=0ms service=3220877ms status=503 bytes= protocol=http 398 <158>1 2022-06-15T06:20:47.934103+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/415/mk2hh_st/websocket" host=www.website.com request_id=633aa897-ebc2-4069-b201-6aacc36dc18b fwd="2404:e801:2001:1729:dd09:de8e:a8ff:7969,172.70.142.233" dyno=web.1 connect=0ms service=1720563ms status=503 bytes= protocol=http 394 <158>1 2022-06-15T06:20:48.584366+00:00 heroku router - - at=error code=H15 desc="Idle connection" method=GET path="/sockjs/037/5fz5sxeg/websocket" host=www.website.com request_id=253e05d2-76f4-4b53-ae74-3ad252084460 fwd="2001:f40:90f:ed3:d1ea:de0:28ba:c91,162.158.163.228" dyno=web.1 connect=0ms service=1225547ms status=503 bytes= protocol=http 340 <158>1 2022-06-15T06:20:50.298552+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/" host=www.website.com request_id=59cd33a6-e155-4645-9539-8eb2e759b915 fwd="176.9.151.26,172.68.50.111" dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=http 430 <158>1 2022-06-15T06:20:54.99057+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/cfs/files/images/AmZNefJYyKWBLuBdb/04.png?token=eyJhdXRoVG9rZW4iOiIifQ%3D%3D&store=thumbs" host=www.website.com request_id=8e9bb915-ea06-4698-9cf6-15f311422c82 fwd="207.46.13.66,162.158.107.186" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=http 371 <158>1 2022-06-15T06:20:55.417353+00:00 heroku router - - at=error code=H12 desc="Request timeout" method=GET path="/?pg=news/20110628_182815&id=844" host=www.website.com request_id=3d7d0829-0922-4f63-b031-a407b2d97f0d fwd="192.99.15.34,108.162.241.9" dyno=web.1 connect=0ms service=30001ms status=503 bytes=0 protocol=http
求助诉求
恳请Meteor、Heroku相关领域的技术专家提供针对性的排查方向或落地解决建议。
内容的提问来源于stack exchange,提问作者mkto
相关产品推荐
相关产品推荐

