>Если вы ещё используете django с mod_python — выкидывайте последний.
Вопрос:
Почему на оффсайте написано «Apache with mod_python currently is the preferred setup for using Django on a production server.»?
Без сарказма — интересны ваши мысли по этому поводу…
Прежде всего это PEP, т.е. спешиал фо питон. Соответственно всё что будет нового — только во благо питонистам. Ну и производительность выше. Хотя не могу сказать что apache в этой связке идеальное звено, лучше использовать nginx, но заморачиваться со сборкой кастомного пакета в arch как-то не захотелось :)
исходник mod_wsgi — 1 файл и примерно 8тыс строк. Не смертельно же? Такие вещи вообще полезно разглядывать — умнее станете уж точно ибо Грэхэм — очень достойный и умный мужик. Ну и плюс почитайте pep о wsgi.
Но зачастую наличие готовой среды пусть и достаточно жесткой (хотя то что джанга монолитная — миф) предпочтительней чем набор компонентов и которых ещё надо эту среду построить и к ней адаптироваться. Но тут опять всё упирается в конкретные задачи и цели.
НЛО прилетело и опубликовало эту надпись здесьНЛО прилетело и опубликовало эту надпись здесь
однажды я выкинул django templates в пользу jinja2. В другой раз получилось оторвать django.conf в пользу своего менеджера настроек. В другой раз получилось сделать многоуровневые приложения. И вот совсем недавно сделали возможносьт подключать приложения оп нескольку раз.
чуть ниже хорошо прозвучало «то что джанга монолитная — миф». Ну а больше всего меня бесят фразы не подкреплённые фактами. Воздух.
Расход памяти очень сильно зависит от того, каким боком использовался Django. Можно конечно наподключать кучу контрибов и удивляться большому расходу памяти. Но если не делать глупостей, то память расходуется вполне себе экономно и уж точно не в 6 раз больше, чем в любом другом фреймворке. Хотя, если у тебя есть какие-то конкретные данные, может из профайлера или ещё что-то, то я бы на это с интересом посмотрел, а то может действительно джанга начала толстеть в каком-то месте.
джанго без контрибов = простейший маппинг re -> view.
я бы всем новым проектам советовал бы изначально отказываться от django templates в пользу jinja2/mako. На крупных приложениях с 3-уровневым наследованием темплейтов время их выполнения растёт экспотенциально =(.
апач — комбайн. Но если из него вырезать все левое, статически собрать с worker_mpm — он будет в некоторых задачах быстрее lighttpd, в некоторых медленнее. Разница в обе стороны не превышает 1-2%.
У меня бинарник апача со статически собранными модулями внутри весит 1.6мб. В дефолтной поставке было 9мб.
Внутри же — apache — пожалуй я не знаю ни одного opensource приложения с более логичной внутренней структурой. Lighttpd же зашёл в тупик.
Так что все эти разговоры, мол апач не делался с прицелом на производительность — просто незнание принципов его файнтюнинга.
Классная наука, информатика. Это Вас в школе такому учили?
В Википедии, конечно, написано то же самое, но писали статью, видимо, стандартные российсковикипедные авторы.
Есть ОЗУ — оперативное ЗУ. Есть ПЗУ — постоянное ЗУ. Их два вида, ничего посредине нет. Отличаются тем, что ОЗУ при отключении энергии теряет всю информацию, а ПЗУ — нет.
Это Вы не умеете делать правильных выводов. Каким образом из того, что статья была исправлена, вытекает моя неправота? Я говорил, что там не употреблялся термин ROM.
А HDD — это именно ПЗУ. Или Вы хотите сказать, что это ОЗУ?
Вроде и лет тебе не так мало, чтобы путать такие простые понятия.
На пальцах:
Постоянно запоминающие устройства (ПЗУ, ROM по английски) — называются постоянными потому, что когда отключаешь электроэнергию, память остаётся.
Правильно, на HDD тоже остаётся память, но ты будешь сильно удивлён — она там останется на несколько лет, после чего начнёт размагничиваться. (пока снова не подать питание)
ПЗУ обычно называют микросхемы, которые прошили один раз и забыли о них. Техника на месте не стоит, и уже давно используются микросхемы, которые можно много раз перезаписывать (например, микросхема BIOS).
CD-ROM — это тоже относится к ПЗУ (пробил в нужных местах дырки лазером на CD-диске и используй его, пока читается).
Перфокарты — это тоже ПЗУ.
Даже Flash Memory можно назвать ПЗУ, потому что она делается какраз на микросхемах EEPROM. (заметь, слово оканчивается на ROM не случайно)
fapws внутри просто ЧУДОВИЩЕН. Человек который его пишет лишь экспериментирует с асинхронным прграммированием на си, без должного опыта.
а вот apache… давайте поспорим на пиво что я смогу сделать сборку апача которая будет быстрее nginx, lighttpd и fapws при выплевывании традтиционного hello world посредством питона?
apache очень большой внутри, но и исключительно логичен. Одна только apr чего стоит.
Кстати, да, fapws3 нестабилен, Причем даже более чем тот же flup.
И вообще недавняя некая истерия прокатившаяся по сообществу питонистов/джангистов по поводу асинхронных WSGI серверов явно связана с тотальным непониманием их принципов, недостатков и достоинств.
Интересно было почитать. У самого на слайсхосте VPS с 512 ОЗУ на ubuntu8.04. Там довольно большой магазин на мадженто, так памяти обычно 300 метров занято, остальное добавилось когда там поднял еще несколько проэктов и svn. Да, поддержую, слайсхост достоин рекомендации.
У Вашего VPS неудачная система виртуализации, которая не умеет лимитировать дисковую нагрузку
В OVZ например можно выставить медленный IO, и никаких проблем с свопом небудет.
Дабы не запутывать народ в размышлениях между mod_python и mod_wsgi достаточно напомнить что они созданы одним человеком и после полного прекращения работы наd mod_python он занялся mod_wsgi.
пытаться изо всех сил исключить swap из работы равно непониманию зачем он нужен операционной системе кроме очевидного «когда не влазит». Немаловажным фактором кроме всего прочего является и обеспечение процессам «бесконечной» памяти, когда они просят что то громоздкое.
gentoo + mod_wsgi + python + custom kernel + apache-static = у меня вертится mocksoul.ru на ноуте с 64мб памяти. А так как там лежит музыка — эта связка делает почти 1тб трафика в месяц на 40мбитах и без ощутимых тормозов.
на freebsd можно и в 32мб уложится. Есетственно при этом речь не идёт о сколько бы то ни было мощных приложениях.
Используем память разумно, или mod_wsgi на 256 мегабайтах