Как работа клиента и сервера Sentry в одном веб-приложении повлияет на производительность? - PullRequest
1 голос
/ 25 июля 2011

Я пытаюсь настроить Sentry для моего проекта Django, но мне было интересно, устанавливать ли сервер Sentry вместе с моим основным веб-приложением или в отдельном веб-экземпляре.

Я могу подумать о том, что Sentry будет в одном и том же веб-приложении:

  • Простота настройки и обслуживания (одно веб-приложение вместо двух, без необходимости установки eventlet и т. Д.)
  • Простота использования для администраторов (например, вход в Sentry с теми же учетными записями, что и у администратора веб-приложения)

Документы Sentry предполагают здесь и здесь , что запуск его в одном и том же веб-приложении снизит качество обслуживания веб-приложения, но как именно?

  • Может ли Sentry замедлить работу веб-приложения, если ошибок нет?
  • Может ли веб-приложение стать очень медленным, если происходит много ошибок (скажем, 10 в минуту)?

1 Ответ

8 голосов
/ 25 июля 2011

Sentry ничего не делает, если не происходит ошибка, и даже в этом случае влияние на время отклика незначительно - ну, по крайней мере, столь же незначительно, как и любой другой тип регистрации в системе.В целом, однако, это не окажет влияния на ваше приложение.

Сценарии, к которым относятся документы, в тех случаях, когда интегрированный Sentry будет проблемой, находятся в средах с высоким уровнем параллелизма и тех, где QoS (качество обслуживания) является обязательным.Позвольте мне подробнее остановиться на них.

Во-первых, высокий уровень параллелизма.Здесь ваш веб-сайт получает столько трафика, что 1) вы должны обнажить сервер до костей только для обработки запросов (например, Twitter или Facebook) или 2) нагрузка достаточна, чтобы поставить ваш сервер на колени (хотя Digg-эффект)это, вероятно, нужно переименовать сейчас), и в этом случае вы также потеряете доступ к Sentry.

Во-вторых, влияние QoS.Смешивание приложений на сервере означает больше точек отказа.Если в вашем проекте Django есть ошибка, она потенциально может устранить Sentry, что значительно усложнит диагностику.Или, наоборот, если что-то взорвется в Sentry, это может привести к падению вашего проекта Django, что приведет к потенциальным потерям посетителей, продажам, прибыли от рекламы и т. Д.хотя это важно), на самом деле речь идет о разделении обязанностей и сокращении точек отказа.Если вы работаете на небольшом сайте, это, вероятно, не имеет большого значения для вас.Но для таких сайтов, как Disqus (которые делают Sentry), отдельный сервер Sentry является необходимостью.

...