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

dus*_*ual 4 architecture django web-applications django-middleware

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

  1. 要登录该应用的Facebook画布用户
  2. 要进行一些访问者跟踪,大多数代码都非常简单.

该应用程序可能并不复杂,非常接近博客系统.但是,我想知道我的中间件架构在资源方面会有多么昂贵.

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

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

谢谢

sch*_*eck 6

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

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

所以保持你的中间件小,你可能不会遇到麻烦.