django 性能调优

Posted cppfun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 性能调优相关的知识,希望对你有一定的参考价值。


我们并没有太多的 RAM 


买尽可能多的 RAM, 你可能负担的起, 您的应用并不会因为RAM足够大就因此提高性能。同理到了一定的瓶颈更换更快的处理器也不会提高应用的整体性能。


目前大多数 Web 服务器都花费了90% 的时间等待磁盘 I/O。一旦开始数据交换, 性能就会下降。更快的磁盘可能会有所帮助, 但它们比 RAM 要贵得多, 而且他们的帮助确实有限。


如果您有多个服务器, 应该首先扩展数据库服务器的RAM(得到足够的 RAM),如果您能负担得起。以满足整个数据库的内存需求。这个不难,我们已经开发了一个网站应用,有超过100万篇文章,RAM在2GB以下。


接下来, 扩展Web 服务器上的 RAM。在理想的情况下, 没有一个服务器永远处于交换数据状态。做到这两点, 应用应该能够承受大部分的正常负载。


关闭 KEEP-ALIVE


"Keep-Alive" 是 http 的一个功能, 它允许通过单个 tcp 连接提供多个 http 请求, 从而避免了 tcp 启动/注销的开销。乍一看, 这看起来不错, 但它有可能会降低 Django 应用的性能。如果您已经将媒体服务器分离出去, 每个用户每隔每十秒左右才会浏览您的Django 应用生成的服务器页面。这样HTTP服务器将等待下一个可能的活动请求(保持连接,占用RAM),而普通的HTTP请求只是消耗一个活动应用程序应该使用的RAM。


使用 MEMCACHED


虽然 Django 支持许多不同的缓存后端, 但它们都没有达到与 Memcached 一样快的速度。如果你有一个流量很大的网站, 不要去理会其他的后端-直接使用Memcached。


经常使用 MEMCACHE


当然, 如果你没有掌握好memcached,它可能对你没有好处。你应该尽可能多的学习如何使用 Django 的缓存框架,并在任何地方使用它。

主动进行缓存措施可以让你的应用hold住更多的流量。


加入社区


每个 Django 栈-从 Linux 到 Apache/nginx 到 PostgreSQL 或 mysql-在它们的背后都有非常棒的社区。如果您真的想100%的优化你的服务器, 请加入这些开源社区,寻求帮助。


关注我好不好


以上是关于django 性能调优的主要内容,如果未能解决你的问题,请参考以下文章

JVM性能调优

JVM性能调优1:JVM性能调优理论及实践(收集整理)

[大数据性能调优] 第一章:性能调优的本质Spark资源使用原理和调优要点分析

SQLServer性能调优如何定位和解决

2022-02-24-Spark-44(性能调优通用调优)

性能调优概述,这是一篇最通俗易懂性能调优的总结!