将中间件放入django是多么昂贵

时间:2011-10-07 11:22:54

标签: django web-applications architecture django-middleware

我写的是一个非常简单的应用程序。

  1. 登录应用的Facebook画布用户
  2. 要进行一些访问者跟踪,大部分代码都非常简单。
  3. 应用程序可能并不复杂,非常接近博客系统。但是,我想知道我的中间件架构在资源方面会有多么昂贵。

    特别令我担心的一件事是,每次发出唯一请求时都会创建一个新的访问者对象。这是个好主意吗?

    因此,虽然中间件是一个令人惊叹的DRY和敏捷概念,但它们在性能方面的表现如何。

    由于

1 个答案:

答案 0 :(得分:6)

虽然我无法使用基准测试为您服务,但我的经验是,如果中间件很薄,那么在性能方面并不重要,至少如果您没有运行真正高流量的网站。在我的项目中(其中一些是中间流量站点),我大量使用中间件,我没有注意到显着的性能缺陷。

关于“访问者对象”:如果您正在使用会话,Django会在每个请求上初始化一个用户对象,而不管是否使用中间件。即使用户尚未登录,也会创建匿名用户。

因此,请保持中间件小,否则可能不会遇到麻烦。