Вот в рассылке nginx наткнулся на ncache (a web cache system base on nginx web server. faster and more efficient than squid).
Разрабатывают сие чудо китайцы, пока отзывы очень даже не плохие.
До жирафа никак не дойдёт, что апач не нужен. У всех сложился чёткий стереотип: веб-сервер = апач. И невдомёк, что современные серверы НА ПОРЯДОК лучше него по всем параметрам.
Недавно с удовольствием выкорчевал апач с последнего своего джангоговносервера, теперь там Lighttpd и SCGI, все довольны, все счастливы.
lighttpd и nginx, будучи event-based серверами, являются практически нескалируемыми с ростом числа CPU. т.е. если на 4-х процовом серваке запустить его одного то 3 проца будут тупо простаивать.
а сейчас тенденция наращивания cor'ости и thread'ности (think Niagara),
где каждая кора/тред в отдельности не такие уж и быстрые...
ну и нафиг всем процессорам заниматься обслуживанием сокетов? на остальных процессорах отлично себе могут работать (и работают) те же php-fcgi, mysql, postgres, etc.
Не вижу повода для паники. HTTP-сервер раздаёт статику, а динамический контент он получает по FCGI/SCGI/whatever. Для раздавать статику и одного ядра выше крыши, всё равно всё упирается в жёсткий диск. А для динамики я могу запустить столько процессов/нитей, сколько захочу. У меня, например, на двухъядернике работает 5 джанговских процессов и один lighttpd, оба ядра грузятся равномерно. Тем более, что большая часть работы вообще приходится на RDBMS.
> lighttpd и nginx, будучи event-based серверами, являются практически
нескалируемыми с ростом числа CPU
для статики и проксирования это и не нужно. сеть и ввод/вывод загнуться быстрее, чем может потребуется больше процессора для nginx и lighty
недавно пробовал nginx в качестве load-balancer. это чудо умудрялось 5xx даже на статике выдавать при отсутствии какой-либо серьезной нагрузки. вернулся к старому доброму squid.
почитал немного код и понял, почему nginx так нестабильно работает. конечно, расточительство не есть хорошо, но оптимизировать в ущерб надежности кода - еще хуже. при этом, судя по переписке "троцкого с каутским", сысоев упорно не признает того, что 5xx могут вылазить на ровном месте по вине самого nginx, а не проксируемых серверов.
> что за чушь? мьсе не освоил server, upstream директивы nginx? а также
> worker_processes.
в lighttpd ничего подобного нет.
как worker_processes это решает я не нашел. ссылка есть?
> как worker_processes это решает я не нашел. ссылка есть?
хотя я вот подумал... через unix domain sockets можно пересылать
дескрипторы :-) правда я никогда не пробовал так делать...
> для статики и проксирования это и не нужно. сеть и ввод/вывод
> загнуться быстрее, чем может потребуется больше процессора для nginx
> и lighty
ну сети уже 10Gb есть, а затыкаться на вводе-выводе, когда можно в это
время обработать еще пару request'ов дело не очень хорошее.
или ligttpd/nginx юзают асинхронное I/O? кто-нибудь знает детали реализаций?
>недавно пробовал nginx в качестве load-balancer. это чудо умудрялось 5xx даже на статике выдавать при отсутствии какой-либо серьезной нагрузки. вернулся к старому доброму squid.
Так и запишем: очередной онанизмус не осилил настройку nginx.
пропускная способность сети не имеет значения. nginx и lighty процессора может нехватать в последнюю очередь. гораздо раньше начнутся проблемы с сетевым стеком и вводом/выводом.
В рассылке ngnix был отзыв на русском. Звучал приблизительно так:
"На моей centOS не собирается. Что-то о лечении проблемы написано в их рассылке, но для Убунту и на китайском"
"почитал немного код и понял, почему nginx так нестабильно работает. конечно, расточительство не есть хорошо, но оптимизировать в ущерб надежности кода - еще хуже. при этом, судя по переписке "троцкого с каутским", сысоев упорно не признает того, что 5xx могут вылазить на ровном месте по вине самого nginx, а не проксируемых серверов."
Какие мы умные! Вот выдает у вас nginx 5хх на ровном месте - так вместо того что-бы орать что он д$#мо помогли-бы лучше отладить его в данной ситуации. А орать что он некачественно написан и что у вас времени нет заниматься этим - это любой дурак умеет.
>Если автор повёрнут на низкоуровневых оптимизациях, даже в ущерб надёжности и чистоте кода, то проще забить на его поделие и взять lighttpd.
Детко, если у ТЕБЯ руки кривые, а извилины - прямые и ТЫ не можешь разобраться в причинах, ПОЧЕМУ nginx выдает 5XX, а разобравшись - настроить nginx так, чтобы таких проблем не было, это вопросы твоей некомпетентности.
Ни одной проблемы с *грамотно* настроенным nginx не было никогда.
Nginx - это один из серверов, который "just works" в режиме 24x7, к которому легко написать собственниый модуль, который уже имеет кучу готовых модулей и который, при этом, работает по-настоящему быстро.
В 80% случаев полученный 5XX - это свидетельство того, что бэкэнд, на котором стоит Apache перегружен и не в состоянии отдавать данные. Еще в 20% случаев 5XX - это неправильно настроенные таймауты на connect/read/write до бэкэнда. Все это отлично исправляется после чтения и понимания документации (которая на русском языке, между прочим).
Надо не визжать на форумах, расписываясь в собственной творческой импотенции, а делать, тогда и падать ничего не будет.
>>Какие мы умные! Вот выдает у вас nginx 5хх на ровном месте
>Да не выдает nginx 5XX на ровном месте. Он просто работает, причем - без проблем.
Я знаю что он работает. Просто нормальный способ решения таких проблем - консультация со знающими людьми (т.е. правка /dev/hands) или если проблема есть - отладка и помочь разработчику в исправлении проблем.
Просто я не рассматривал случай что анонимус настолько некомпетентен что просто не сумел настроить nginx как надо.
Ну давайте еще пиписками померяемся кто круче - тот кто использует nginx или тот кто использует lighttpd! :)))))
Я, например, никогда не утверждал что lighttpd плохой сервер. Уверен что для своих задачь он очень неплох. Но, например, когда я выбирал сервер под свои задачи мне больше понравился nginx и с тех пор я его и использую. Тем не менее, это никак не умаляет достоинств lighttpd.
И, кстати, та-же история и на счет linux vs freebsd. Я работаю под linux, он мне нравиться, но я часто сталкиваюсь с тем что и во freebsd есть очень приятные вещи, которых не хватает в linux. И наоборот, естественно.
Сколько сразу набежало подростков-анонимусов, не способных даже осилить пару страниц документации по настройке nginx.
Опять же, гораздо проще подленько вякать, прикрываясь анонимностью, иначе ведь будет обидно, когда ткнут тупой рожей в щедро наваленные кучи собственного ламеризма.
довольно некорректно обрабатывает очередь на крупных сайтах + корявая реализация http (аля отсутсвие 100 continue). ф топку быдлоподелие. больше чем на фронтенд для таких же быдлоподелий как пхп не тянет.
Липкими лужами Март захватывает некогда унылый мир... Получив 5xx от nginx на порносайте, нетерпеливые анонимусы бьются в бессильной гормональной агонии.
> на базе nginx это значит скоро весь китай будет 50х ошибки показывать. (nginx вроде кроме как показывать 50х больше ничего не умеет)
Учите матчасть.
> lighttpd и nginx, будучи event-based серверами, являются практически нескалируемыми с ростом числа CPU. т.е. если на 4-х процовом серваке запустить его одного то 3 проца будут тупо простаивать.
И что? Со своими задачами справляются замечательно, а остальные ядра\процессоры пускай использует бэкенд.
>lighttpd и nginx, будучи event-based серверами, являются практически нескалируемыми с ростом числа CPU. т.е. если на 4-х процовом серваке запустить его одного то 3 проца будут тупо простаивать.
nginx как раз таки умеет, только надо не ленится и хоть раз в жизни доки почитать... чтобы так не пАзориться
>у меня just works Lighttpd, а nginx - это такая статусная игрушка для тех куль одминов, что фрю на серваках держат (и венду на десктопах).
Детко анонимное! Если ты ниасилил ничего кроме linux, это твои трудности.
Когда ты подрастешь и хоть чуть-чуть поумнеешь (хотя я сомневаюсь в этом), ты поймешь, что кроме Линукса в мире есть и другие операционные системы, и у каждой из них есть свои плюсы и минусы, а также - своя ниша.
А пока ты понтуешься тупым своим незнанием ничего, кроме Линукса (какого дистрибутива, кстати?), ты - лузер и ни на что, кроме как анонимно срать на ЛОРе не годен. Убей себя, не живи больше, не нужен ты.
"Дурачок деревенский" это Вы, если не умеете спокойно реагировать на выпады анонимуса.
> Что и требовалось доказать, ты - красноглазое ламо.
Я и не говорил, что я "Супер Бох"(кем себя считаете Вы), и я даже не админ. Хотя считаю, что распределение нагрузки, кеширование и прочие фишки наряду с оптимизацией кода это реально хорошо и не только на больших проектах. И я только рад за адекватных пользователей ngnix (разбирающихся в китайском). А вот за Вас нисколько не рад.