Dev-сервер Django вызывает постоянную высокую загрузку процессора с Python 3

1667
Simon Steinberger

Сервер разработки Django работает под управлением Python 2.7.5 (в Windows 7) с довольно постоянной (неактивной) нагрузкой в ​​моей тестовой системе, составляющей примерно 1-3%, - без загрузки страницы или других вычислений. Переход на Python 3.4.2 приводит к увеличению постоянной нагрузки в среднем до 10%. Это очень много, потому что ты ничего не делаешь ... Есть ли объяснение этому? Можно ли этого избежать? Я проверял это с различными приложениями Django.

2

1 ответ на вопрос

2
Simon Steinberger

Чтобы ответить на мой собственный вопрос: сервер разработки Django периодически проверяет все исходные файлы Python на наличие изменений. Установка параметра --noreload предотвращает этот механизм автоматического перезапуска, который также снижает нагрузку на холостом ходу до нуля. По-видимому, автоматическая перезагрузка на Python 3 менее эффективна. Использование pyinotiy - это решение для Linux, которое также предотвращает эти издержки: https://docs.djangoproject.com/en/1.7/ref/django-admin/#runserver-port-or-address-port

Просто хотел сказать, что это также стало причиной высокой проблемы с процессором для меня. Как сказал Саймон, добавление `--noreload` к команде` runserver` решило эту проблему. Похоже, автоматическая перезагрузка в Django невероятно расточительна; даже не трогая и не изменяя какие-либо `.py` -файлы, они постоянно перезагружаются, вызывая очень высокую загрузку ЦП и В / В. flatterino 7 лет назад 1

Похожие вопросы