Подтвердить что ты не робот

Как следует интерпретировать ошибки Heroku H18?

Мы видим довольно много ошибок H18 (запрос прерывается) в журналах. Как это следует интерпретировать, поскольку sock = client во всех случаях я предполагаю, что это клиент, который отключается. Должны ли поэтому быть безопасным игнорировать эти?

4b9b3361

Ответ 1

Обычно это указывает либо на то, что сеть пользователя была отключена (например, это происходит с некоторой частотой для мобильных пользователей), либо конечный пользователь закрыл свой браузер или аналогичный (например, нажал Stop, перешел на другую страницу и т.д.).

Вы можете смело игнорировать те, которые помечаются как "на стороне клиента" с именем "sock = client", но могут захотеть исследовать те, которые закрываются концом сервера ( "sock = server" ).

Ответ 2

Изменить (10 августа 2015 г.). Мой ответ ниже для ошибок H18 устарел. Heroku изменил поведение ошибок H18, сделав их более конкретными (и серьезными), чем раньше. Этот Ответ теперь более правильный.


H18 Errors

Недавно я попросил поддержку Heroku о значительном количестве ошибок H18 (иногда 3-4 часа), которое мое приложение получало и всплывало в разделе "Метрики" новой информационной панели Heroku (снимок экрана выше). Я ссылался на ответ catsby на этот поток и попросил подтвердить, были ли они фактически недействительными. Это был ответ, который я получил от поддержки Heroku:

Я только что прошел через последние 24 часа H18s в вашем приложении. Они все sock = клиент и, глядя на User-Agent, я вижу много обычных преступников. Мобильные браузеры по большей части, а также новейший Chrome, который я видел в других приложениях, также имеют проблемы с тех пор, как несколько дней назад. Если вы не видите шаблон, например, для определенного URL-адреса или пользователя, это часто является проблемой сети.

[Что эти ошибки H18] Не срабатывает не всегда. Некоторые приложения действительно заботятся об этом, и иногда это может также означать потерю клиента, а не сетевую ошибку. Браузеры время от времени ломаются, но, в частности, мобильные браузеры могут быть довольно хрупкими. Если приложение использует много активов и вызывает ошибки "страницы не отвечающих", вы можете увидеть всплески в H18. В этом случае иногда есть что-то, что вы можете с этим поделать. Другие приложения полностью обслуживаются проводными сетями и никогда не ожидали этого, в этом случае может быть неисправный коммутатор или брандмауэр. Ради прозрачности мы все же хотим сообщать об этих ошибках, так как нет способа определить, являются ли они действительными или не являются действительными.

Подводя итог, в большинстве случаев вы можете игнорировать их, если они являются ошибками sock=client, но это указывает на то, что клиенты отключаются, что может указывать на реальную проблему в зависимости от того, как ваше приложение подключено к сети своим клиентам (например, мобильным или действительно плохое сетевое подключение)... но, вероятно, вы можете смело игнорировать их.

Ответ 3

К вашему сведению: верхний ответ больше не является правильным. Это было на момент написания, но все изменилось. H18 теперь всегда носок = сервер. Heroku добавил новый код ошибки H27 для sock = client.

Подробности здесь: https://devcenter.heroku.com/changelog-items/662

Теперь к H18 следует относиться более серьезно, так как они определенно являются проблемой вашего сервиса. Обычно H27 можно безопасно игнорировать, поскольку они являются проблемой для клиента.