Що таке девелоперський сервер?
Хотів би поділитись одним своїм спостереженням на рахунок роботи зі статикою сервера django, який "з коробки", і, власне, не є рекомендованим для використання в реальному середовищі. Для простоти використання статичних файлів, тобто всяких там стилів, зображень і клієнтських скриптів, розробники django-фреймворка втулили наступну view'ху:
django.views.static.serve
Напевно, більшість django-програмістів використовують цю річ в роботі, як і девелоперський сервер:
python ./manage.py runserver :
Більше того, згідно із статистикою djangosites 1.2% користувачів не паряться зі всякими там nginx, apache, і публікують свої додатки таким ось нехитрим способом.
Проблемка
При цьому, мабуть, мало хто стикався з тим, навіть в досить крупних проєктах, що девелоперський сервер зависає на кожному другому-третьому запиті, що не просто бісить, а робить розробку практично неможливою. З однією з причин такого зависання я нещодавно стикнувся. А діло було в статичних ресурсах, які повинні були віддаватись клієнту, але через об'єктивні причини не віддавались, тобто на кожен запит за вимогою зображення , скрипта, та ін.. приходила відповідь 404. Так ось, якщо таких ресурсів накопичиться 20-30, сервер висне уже на 2-му - 3-му запиті.
Замість висновку
Причина цього криється в тому, що над такими проблемами з сервером ніхто не париться, оскільки для роботи в production оточенні він не призначений, тим більше для обслуговування статики.
Коментарі
Дописати коментар