red*_*ive 8 python django newrelic
我正在开发一个包含多个应用服务器,MySQL服务器等的大型Django(v1.5.1)应用程序.在将NewRelic推广到所有服务器之前,我想知道每次交易会产生什么样的开销.
如果可能的话,我甚至想要区分应用程序跟踪和理想的服务器监控.
有没有人知道普遍接受的数字?也许是一个正在进行此类调查或步骤的网站,以便我们可以自己进行调查.
对于Python代理和监视Django Web应用程序,每个请求的开销是由在已检测的特定请求中执行的函数数量来驱动的.这是因为没有完成整个分析.相反,只有特定的感兴趣的功能被检测.因此,只有为一个函数调用而不是嵌套调用执行包装器的开销,除非那些嵌套函数反过来正在被检测.
在Django中检测的特定函数是中间件和视图处理函数,以及模板渲染和模板渲染器中处理每个模板块的函数.与Django本身不同,您可以使用低级数据库客户端模块函数来执行查询,以及memcache和Web外部等.
这意味着如果对于特定的Web请求执行仅通过100个已检测的函数,则只执行那些会产生额外开销的函数.相反,如果您的视图处理程序执行了大量不同的数据库查询,或者您正在呈现一个非常复杂的模板,则检测函数的数量可能会更多,因此该Web请求的开销将更多.也就是说,如果您的视图处理程序正在执行更多工作,那么它通常具有比不太复杂的响应时间更长的响应时间.
换句话说,每个请求开销不是固定的,取决于正在完成的工作量,或者更具体地说,调用了多少个已检测的函数.因此,无法对事物进行量化,并为每个请求数字提供固定的开销.
总而言之,将会有一些开销,目标的一般目标范围约为5%.
通常情况下,通过获得性能指标获得的洞察力意味着对于大多数客户而言,通常可以立即找到一些非常简单的改进.进行了这样的更改后,响应时间可以很快降低到低于开始监控之前的响应时间,因此当您没有监控时,最终会超出您的开始位置.通过进一步的挖掘和调整,改进甚至可以更加引人注目.请注意所提供的性能指标的某些方面,您还可以更好地调整WSGI服务器,或者更好地利用它,减少所需的主机数量,从而降低托管成本.
| 归档时间: |
|
| 查看次数: |
2170 次 |
| 最近记录: |