Django 的开发服务器导致 Python 3 的 CPU 负载持续过高

Django 的开发服务器导致 Python 3 的 CPU 负载持续过高

Django 的开发服务器在 Python 2.7.5(Windows 7 上)下运行,在我的测试系统上,负载(空闲)相当稳定,约为 1-3% - 没有页面加载或进行其他计算。切换到 Python 3.4.2 会导致恒定负载上升到平均约 10%。对于没有做任何事情来说,这相当大……有什么解释吗?可以避免吗?我用各种 Django 应用程序测试了这个问题。

答案1

回答我自己的问题:Django 的开发服务器会定期检查所有 Python 源文件是否有更改。设置选项 --noreload 可阻止此自动重启机制,这也会将空闲负载降至零。显然,Python 3 上的自动重新加载效率较低。使用 pyinotiy 是 Linux 的解决方案,也可以避免这种开销:https://docs.djangoproject.com/en/1.7/ref/django-admin/#runserver-port-or-address-port

相关内容