Django性能调优技巧?

你如何调整Django以获得更好的性能? 有一些指导? 我有以下问题:

  • mod_wsgi是最好的解决方案吗?
  • 有没有像PHP一样的操作码缓存?
  • 我应该如何调整Apache?
  • 我如何设置我的模型,所以我有更少/更快的查询?
  • 我可以使用Memcache吗?

  • 对你几个问题的评论:

    mod_wsgi是最好的解决方案吗?

    Apache / mod_wsgi对大多数人来说已经足够了,因为即使Apache没有正确设置,它们也不会有足够的流量导致问题。 Web服务器通常不是瓶颈。

    有没有像PHP一样的操作码缓存?

    Python在内存中缓存已编译的代码,并且这些进程在请求中保持不变。 因此,您不需要像PHP那样的单独的操作码缓存产品,因为这是Python在默认情况下所做的。 你只需要确保你没有使用托管机制或配置,这会导致进程被抛出每个请求或过于频繁。 例如,不要使用CGI。

    我应该如何调整Apache?

    在不知道应用程序或系统的任何信息的情况下,无法提供简单的指导,因为您需要设置Apache。 这是因为吞吐量,请求持续时间,使用的内存量,可用内存量,处理器数量以及更多的功能。 如果你还没有编写你的应用程序,那么你只是在这里跳枪,因为直到你知道更多关于你的应用程序和生产负载,你不能最佳地调整Apache。

    一些简单的建议,但。

  • 不要在同一个Apache中托管PHP。
  • 使用Apache worker MPM。
  • 使用mod_wsgi守护进程模式而不是嵌入模式。
  • 仅凭这一点就可以让你免于为自己造成太多的悲伤。

    如果您真的需要更好地调整您的完整堆栈,即应用程序和Web服务器,而不是过早地进行优化,因为即使您还没有真正编写任何代码,您仍然会拥有下一个FaceBook,那么您需要开始查看性能监视工具来确定应用程序正在执行的操作。 您的应用程序和数据库将成为您问题的真正来源,而不是Web服务器。

    我所说的那种性能监控工具就像New Relic。 尽管如此,如果你还很早,甚至没有部署任何东西,那么这本身就是浪费时间。 换句话说,在担心如何以最佳方式运行它之前,先让代码工作。

    链接地址: http://www.djcxy.com/p/55047.html

    上一篇: Django Performance Tuning Tips?

    下一篇: Access level problems when using Class Table Inheritance