我正在考虑为我的Django项目设置Sentry,但我想知道是否将Sentry服务器与我的主webapp一起安装,或者在单独的Web实例中安装。
我可以想到让Sentry在同一个webapp中的好处是:
Sentry文档建议here和here在同一个webapp中运行它会降低webapp服务质量,但具体如何?
答案 0 :(得分:8)
除非发生错误,否则Sentry不会执行任何操作,即使这样,对响应时间的影响也可以忽略不计 - 至少与系统上任何其他类型的日志记录一样可以忽略不计。但一般情况下,这不会对您的应用产生影响。
文档所指的集成Sentry存在问题的场景是高并发环境以及QoS(服务质量)必须的环境。让我更详细地介绍一下。
首先,高并发性。在这里,您的网站获得了如此多的流量1)您必须剥离服务器以便处理请求(想想Twitter或Facebook)或2)负载足以让您的服务器瘫痪(Digg-effect,尽管现在可能需要重命名),在这种情况下你也会失去Sentry访问权。
第二,QoS影响。在服务器上混合应用程序意味着更多的失败点。如果您的Django项目中存在错误,它可能会使Sentry陷入其中,从而使诊断变得更加困难。或者相反,如果Sentry中的某些东西爆炸,可能会让你的Django项目失败,从而导致潜在的访问者数量,销售额,广告收入等。
问题实际上并非如此(虽然这很重要),但它实际上是关于责任分离和减少失败点。如果您正在运营一个小型网站,那么您可能并不太关心。但是,对于像Disqus(制作Sentry)这样的网站,需要一个隔离的Sentry服务器。