Создание сервера разработки Django быстрее при обслуживании статических медиа

Я использую Django manage.py runserver для разработки моего приложения (очевидно), но требуется 10 секунд для завершенной загрузки страницы, потому что сервер разработки очень, очень медленный при обслуживании статических медиа.

Там какой-либо путь состоит в том, чтобы ускорить его или некоторое обходное решение? Я использую Windows 7.

10
задан Veeti 1 March 2010 в 19:26
поделиться

4 ответа

Рассмотрите возможность использования mod_wsgi вместо этого, и поручите httpd обрабатывать статические медиа.

7
ответ дан 3 December 2019 в 20:41
поделиться

Установите Firefox (если еще не установили), и установите Firebug Add-On. Перезапустите браузер. В правом нижнем углу нажмите на значок "ошибка" и убедитесь, что во вкладке "Сеть" (это выпадающий список) панели Firebug, которая открывается в нижней части браузера, активен сетевой монитор.

Теперь, когда вкладка "Сеть" в Firebug открыта, откройте сгенерированную Django страницу, которая, по вашим наблюдениям, загружается медленно. Посмотрите на шкалу времени. Вы заметите, что цветной фрагмент(ы) каждой полосы указывает(ют) на причину общего времени "загрузки" каждого запроса. Фиолетовый цвет, например, означает, что на самом деле браузер ждет, пока сервер сгенерирует ответ. Серый означает, что он получает контент. И так далее. При наведении курсора на столбцы отображается цветовая легенда.

С помощью сетевого монитора Firebug вы сможете точно определить, как именно ваш браузер и/или сервер тратят свои 10 секунд.

4
ответ дан 3 December 2019 в 20:41
поделиться

Сервер разработки - это простое небезопасное однопотоковое приложение, поэтому вы мало что можете сделать.

Вы можете попробовать перенаправить / site_media на второй сервер разработки, но это некрасиво и вряд ли сильно поможет. Таким образом, вы можете попробовать объединить / сжать несколько ресурсов в один css / js (например, используя YUI Compressor ).

И в любом случае у вас должен быть отдельный статический медиа-сервер, который может обслуживать несколько ресурсов одновременно.

5
ответ дан 3 December 2019 в 20:41
поделиться

Запустите lighttpd для обслуживания статического содержимого и используйте MEDIA_URL, чтобы указать страницы на сервере lighttpd, который обслуживает статический материал.

2
ответ дан 3 December 2019 в 20:41
поделиться
Другие вопросы по тегам:

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