你如何调整Django以获得更好的性能?有指导吗?我有以下问题:
答案 0 :(得分:5)
对您的一些问题发表评论:
mod_wsgi是最佳解决方案吗?
Apache / mod_wsgi对大多数人来说已经足够了,因为即使没有正确设置Apache,他们也不会有足够的流量来引发问题。 Web服务器通常不是瓶颈。
是否有像PHP一样的操作码缓存?
Python将已编译的代码缓存在内存中,并且这些进程会在请求中保持不变。因此,您不需要像PHP那样的单独操作码缓存产品,因为这是Python默认执行的操作。您只需要确保您没有使用托管机制或配置,这些机制或配置会导致每个请求或过于频繁地丢弃进程。例如,不要使用CGI。
我应该如何调整Apache?
在不了解您的应用程序或系统的情况下,您无法提供有关如何设置Apache的简单指导。这是因为吞吐量,请求持续时间,使用的内存量,可用内存量,处理器数量以及更多内容都会发挥作用。如果您还没有编写应用程序,那么您只需在此处进行操作即可,因为在您了解应用程序和生产负载之前,您无法对Apache进行最佳调整。
虽然有一些简单的建议。
仅此一项就可以帮助你免于为自己造成太多的悲伤。
如果您真的需要更好地调整完整堆栈,即应用程序和Web服务器,而不仅仅是过早优化,因为您认为即使您还没有真正编写任何代码,您也将拥有下一个FaceBook然后,您需要开始查看性能监视工具,以确定您的应用程序正在执行的操作。您的应用程序和数据库将成为问题的真正来源,而不是Web服务器。
我所说的那种性能监控工具就像New Relic。即便如此,如果你还很早,甚至没有任何部署,那么这本身就是浪费时间。换句话说,只需先让代码工作,然后再担心如何以最佳方式运行它。