Январский отчет (http://news.netcraft.com/archives/2012/01/03/january-2012-we...) компании NetCraft, оценивающий популярность http-серверов, преподнёс интересный сюрприз - Nginx вырвался на второе место по числу обслуживаемых активных сайтов (http://news.netcraft.com/active-sites/), обогнав Microsoft IIS. Среди активных сайтов доля Apache составляет 57.93%, nginx - 12.18%, IIS - 12.14%. За месяц nginx увеличил своё присутствие на 5%, относительно декабрьских показателей, доля Apache и IIS упала на 0.5% и 1.4% соответственно. За год число активных сайтов под управлением nginx выросло (http://news.netcraft.com/archives/2011/01/12/january-2011-we...) с 8.3 млн (8.23%) до 22.2 млн (2.18%), Apache c 57.57% (58.6 млн) до 105.6 млн (57.93%), IIS c 17 млн (16.76%) до 22.1 млн (12.14%).<center><img src="http://www.opennet.me/opennews/pics_base/32731_1325695942.pn... style="border-style: solid; border-color: #606060; border-width: 1px;" title="" border=0>...
URL: http://news.netcraft.com/archives/2012/01/03/january-2012-we...
Новость: http://www.opennet.me/opennews/art.shtml?num=32731
особенно, если учесть, что за 95% nginx-сетапов стоит apache.
Тащемта простым анализом заголовков можно вытащить данные бакэнда который стоит за фронтом. Не думаю, что в неткрафте сидят дебилы, которые не знают, как это сделать.
Он не об этом.
Да неужели?
Заголовок "Server" nginx всегда заменяет на свой, а дополнительные заголовки сильно зависят от настроек фронтенда и бэкенда, и поэтому не могут служить критерием идентификации.
Критериев 100% внешней идентификации вообще не существует, если уж на то пошло.Только опросы админов.
> Критериев 100% внешней идентификации вообще не существует, если уж на то пошло.Для того, чтобы собрать репрезентативную выборку, обычно достаточно заголовка "server". В большинстве серверов надо попрыгать с бубном, чтобы его подменить.
> Только опросы админов.
А вот админу сказать фигню в ответ на вопросы - несложно. И даже нужно, потому что нефиг левым людям рассказывать про внутренние дела компании.
>> Критериев 100% внешней идентификации вообще не существует, если уж на то пошло.
> Для того, чтобы собрать репрезентативную выборку, обычно достаточно заголовка "server".
> В большинстве серверов надо попрыгать с бубном, чтобы его подменить.Ойвей. ~65% апачей. модсекурити решит вопрос.
> модсекурити решит вопрос.Горбатого могила исправит. Сервак форкающий по процессу на юзера по дефолту и потому выносимый в дефолтной конфигурации даже школьником на GPRS - это жесть. Ну не должен сервер быть таким отстоем.
> Сервак форкающий по процессу на юзера по дефолту и потому выносимый в дефолтной конфигурации даже школьником на GPRS - это жесть. Ну не должен сервер быть таким отстоем.форкает он только для CGI. который уже имхо очень мало кто пользует.
>форкает он только для CGI. который уже имхо очень мало кто пользует.Форкает он для всего. Prefork конфигурация запускает процесс для каждого соединения.
В MPM (worker) конфигурации чуть получше, но все равно по использованию ресурсов ему далеко до nginx.
> Для того, чтобы собрать репрезентативную выборку, обычно достаточно заголовка "server".
> В большинстве серверов надо попрыгать с бубном, чтобы его подменить.Если для вас исправить строчку в конфигурации это "попрыгать с бубном", то да.
Но обычно переоценка простейшего действия говорит либо о незнании предмета, либо о
целенаправленном накручивании цены. В любом случае вы ошиблись аудиторией.
> Если для вас исправить строчку в конфигурации это "попрыгать с бубном", то да.Сисадмины по дефолту ленивые, а defaults как известно will prevail ;)
Самый простой метод - копилим сервер из исходником с наложением патча:) Просто до ужаса, и 100% гарантия:)
>особенно, если учесть, что за 95% nginx-сетапов стоит apache.Вовсе нет. Сейчас, всё чаще, он единственный сервер который обслуживает сайты, а особенно в связки с fastcgi и фреймворками вроде Django или RoR.
Плюсую.. тоже по началу ствил nginx как прокси для Apache, потом подумал-подумал.. и вовсе перешёл только на энджинкс
"всё чаще" - это сколько? а то мне кажется, что доля nginx-only за последнее время выросла с 5% до 5.1%, и эти 0.1% - как раз и составляют это ваше "всё чаще"
>"всё чаще" - это сколько?Де-факто стандарт при fastcgi.
> Де-факто стандарт при fastcgi.Многочисленные пользователи lighttpd+fastcgi с вами не согласятся.
>> Де-факто стандарт при fastcgi.
> Многочисленные пользователи lighttpd+fastcgi с вами не согласятся."Многочисленные пользователи lighttpd+fastcgi" наглядно изображены в этом отчете вместе с остальными многочисленными пользователями в разделе "прочие".
> "Многочисленные пользователи lighttpd+fastcgi" наглядно изображены в этом отчете вместе
> с остальными многочисленными пользователями в разделе "прочие".Очень наглядно - чуть ли не десяток процентов "прочие". Конечно такая статистика...
>> "Многочисленные пользователи lighttpd+fastcgi" наглядно изображены в этом отчете вместе
>> с остальными многочисленными пользователями в разделе "прочие".
> Очень наглядно - чуть ли не десяток процентов "прочие". Конечно такая статистика...Год назад было 0.58% , сейчас не больше.
> Год назад было 0.58% , сейчас не больше.Пусть тогда объяснят что там у них other >10%. Не верю что более 10% нельзя как-то более внятно классифицировать.
>Пусть тогда объяснят что там у них other >10%. Не верю что более 10% нельзя как-то более внятно классифицировать.Вы не туда написали. Я на них влияния не имею.
> Многочисленные пользователи lighttpd+fastcgi с вами не согласятся.У лайти есть грабельки: он кеширует в памяти весь ответ. Если ответ большой, лайти начинает дико жрать память. Нжинкс этой проблемой не снабжен.
Бессовестно врёте. У нас спокойно отдаются через lighttpd+fastcgi 100-меговые потоки данных, память не расходуется.
>Бессовестно врёте. У нас спокойно отдаются через lighttpd+fastcgi 100-меговые потоки данных, память не расходуется.Нет не врёт. Вот тут есть адекватное сравнение между энжинксом и лайти:
http://www.wikivs.com/wiki/Lighttpd_vs_nginxОбратите внимание в описании на это предложение выделенным жирным:
These backends, however, do not support large files.
Так же советую прочитать:
http://www.enemyofthestatement.com/goodbye-lighty-hello-nginx
> Бессовестно врёте.А как насчет http://redmine.lighttpd.net/issues/1283 ?
>Вовсе нет. Сейчас, всё чаще, он единственный сервер который обслуживает сайты, а особенно в связки с fastcgi и фреймворками вроде Django или RoR.Подобного рода заявления часто основаны на личном опыте. С таким же успехом могу и я заявить что посленее время тенденция в разработке веб-приложении все чаще подходят вплотную к уровню разработки загружаемого модуля сервера apache. Может я не просто сталкиваюсь с подобными системами и на самом деле есть такая тенденция - но я не возьмусь утверждать это.
>>Вовсе нет. Сейчас, всё чаще, он единственный сервер который обслуживает сайты, а особенно в связки с fastcgi и фреймворками вроде Django или RoR.
> Подобного рода заявления часто основаны на личном опыте.И на личном опыте тоже. Практически любая статья/howto про деплой fastcgi проекта в последнее время именно про nginx.
> С таким же успехом
> могу и я заявить что посленее время тенденция в разработке веб-приложении
> все чаще подходят вплотную к уровню разработки загружаемого модуля сервера apache.Не можете. Хотя бы по количеству этих самых модулей и их отношением к количеству сайтов в сети.
> Может я не просто сталкиваюсь с подобными системами и на самом
> деле есть такая тенденция - но я не возьмусь утверждать это.На чистом PHP (без фреймворков) такая тенденция может и не просматривается.
Если вы разрабатываете на другом языке, а особенно с применением фреймвороков, то тенденция использования чистого nginx видна не вооруженным глазом, он легче и производительней, нет никакого смысла ставить apache.
> тенденция использования чистого nginx видна не вооруженным глазом, он легче и
> производительней, нет никакого смысла ставить apache.А на кой пес мне админить два сервера вместо одного?
>А на кой пес мне админить два сервера вместо одного?Ну вот по этому и ставят nginx.
Предположу, что доля apache почти целиком представлена mod_php.
> Ну вот по этому и ставят nginx.Капитан, вы б залогинились?
>>> Практически любая русскоязычная статья/howto про деплой fastcgi проекта в последнее время именно про nginx.Fixed. В мире же предпочитают Apache и лайт.
> Fixed. В мире же предпочитают Apache и лайт.Уж не хотите ли вы сказать что вон тот рост - за счет местных вебпомоек? Вы о рунете слишком хорошего мнения ;)
>>>> Практически любая русскоязычная статья/howto про деплой fastcgi проекта в последнее время именно про nginx.
> Fixed. В мире же предпочитают Apache и лайт.это ненадолго. Рунет более лоялен к нгинксу, в рунете он уже давно over 50%.
в мире нгинкс каждый месяц отъедает 0,3-0,5% у апача. рискну предположить, что после 15-20% процесс пойдёт шустрее. Т.е. через год-два.
это далеко не так. nginx уже давно кроет апача как бык овцу
> это далеко не так. nginx уже давно кроет апача как бык овцуТут есть маленький фокус. nginx хорошо применим для отдачи статики, но вот в отдаче динамики с большим числом спящих тредов просто сольёт. Потому, что у него нет тредов, и он вынужден проходить даже "спящие" "выкидыши" на CGI/FCGI в очереди заданий. С тредами легче - там планировщик обычно заранее знает, где и почему "уснул" тред, и когда его "будить".
> Тут есть маленький фокус. nginx хорошо применим для отдачи статики, но вот
> в отдаче динамики с большим числом спящих тредов просто сольёт.Чего ради? Фастцги быстрый протокол, а php-fastcgi или кто там у вас сливать апачу ни разу не обязан.
> Потому, что у него нет тредов, и он вынужден проходить даже "спящие"
> "выкидыши" на CGI/FCGI в очереди заданий.Самому по себе нжинксу вообще пофиг сколько там и чего. Ну нечего делать с вон тем клиентом - пойдет и нальет следующему, которому есть. На то и машина состояний.
> С тредами легче - там планировщик обычно заранее знает, где и почему "уснул" тред,
> и когда его "будить".Теоретически, апач очень крутая штука. На сферическом компе в вакууме, где бесконечное число процессоров и нет лимита по RAM. А вот на практически существующих машинах апач представляет из себя неповоротливую жопу с ручкой.
> Самому по себе нжинксу вообще пофиг сколько там и чего. Ну нечего
> делать с вон тем клиентом - пойдет и нальет следующему, которому
> есть. На то и машина состояний.О том и речь. Линейная машина состояний не всегда оптимальна. Она оптимальна только тогда, когда большинство "процессов" активны. Чем больше "процессов" спят - тем ниже эффективность FSM.
> О том и речь. Линейная машина состояний не всегда оптимальна. Она оптимальна
> только тогда, когда большинство "процессов" активны. Чем больше "процессов" спят -
> тем ниже эффективность FSM.Количество процессов nginx никак не связано с количеством обслуживаемых соединений (как пользовательских, так и fastcgi).
> Количество процессов nginx никак не связано с количеством обслуживаемых соединений (как
> пользовательских, так и fastcgi).Именно. Опять же - о том и речь. Если из 500 потоков 499 спят, то до 499/500 процессорного времени nginx будет тратить впустую.
> Именно. Опять же - о том и речь. Если из 500 потоков
> 499 спят, то до 499/500 процессорного времени nginx будет тратить впустую.Кто есть потоки применительно к нжинксу? У нжинкса нет никаких "500 потоков". У него есть машина состояний. Если ей нечего делать и процесс спит - так и пусть спит. Если ей есть чего делать - ну оно и делает, собственно, мотаясь между состояниями, наливая в сокеты данные и что там еще требуется. Машине состояний не так уж принципиально, дергаться на 20 клиентов или 20 000 в рамках 1 потока. Никаких сотен потоков там нет и не будет. Обычно число чайлдовых процессов нжинкса берется по числу процессоров, чтобы равномерно всем процам доставалось.
Так мы про FastCGI, или про статику?
> Так мы про FastCGI, или про статику?Мы вроде про nginx. Ему пофигу как именно бэкэнд сделан, это проблемы бэкэнда. При чем тут нжинкс? Кстати если уж на то пошло, можно заметить что господа сталкивающиеся с серьезными нагрузками и просто "школьным ддосом" как-то очень быстро обучаются не только юзать нжинкс, но и агрессивно кешировать в статику все что только можно, оставляя запросы которые нагружают сервер только для зарегистрированных пользователей, например. Или лимитируя интенсивность перегенерации страницы кратковременным кешированием.
> О том и речь. Линейная машина состояний не всегда оптимальна. Она оптимальна
> только тогда, когда большинство "процессов" активны. Чем больше "процессов" спят -
> тем ниже эффективность FSM.Простите? По идее они спят когда им делать нечего :). Ну если данных нет - так и слать нечего. Да, нжинкс спокойно удержит в кипаливе 10 000 соединений. А вот опач - обделается со своей супермоделью от и до. Если конечно у вас нет компа с бесконечным числом процессоров и такой же безразмерной оперативкой.
> Тут есть маленький фокус. nginx хорошо применим для отдачи статики, но вот
> в отдаче динамики с большим числом спящих тредов просто сольёт. Потому,
> что у него нет тредов, и он вынужден проходить даже "спящие"
> "выкидыши" на CGI/FCGI в очереди заданий. С тредами легче - там
> планировщик обычно заранее знает, где и почему "уснул" тред, и когда
> его "будить".У nginx нет тредов (тем более спящих). Посмотрите, как работает kqueue и epoll.
> У nginx нет тредов (тем более спящих). Посмотрите, как работает kqueue и epoll.Согласен, с epoll всё несколько лучше.
> особенно, если учесть, что за 95% nginx-сетапов стоит apache.Откуда статистика? Нжинкс может вообще быть самодостаточным серваком.
Если обрабатывать только статику - да, если нужна динамика - нет, и не важно php это питон или руби на рельсах
> Если обрабатывать только статику - да, если нужна динамика - нет, и
> не важно php это питон или руби на рельсахГолословненько)
Подскажете, как подружить apache и php-fpm?
> не важно php это питон или руби на рельсахГы, если уж совсем досконально придираться, можно сделать модуль нжинкса который будет динамически генерить страницу. Это слегка изврат. Но можно.
Вообще-то, встроенный Перл имеется в Энжайниксе ещё с самых первых версий.
во-первых он всё ещё экспериментальный, во-вторых он там не за тем чтоб на нём сайты фигачить.
> во-первых он всё ещё экспериментальный, во-вторых он там не за тем чтоб
> на нём сайты фигачить.Вам шашечки или ехать?
>> во-первых он всё ещё экспериментальный, во-вторых он там не за тем чтоб
>> на нём сайты фигачить.
> Вам шашечки или ехать?мне -- ехать. вам -- шашечки.
> мне -- ехать.С апачем это езда на тормозном и капризном осле, который постоянно норовит взбрыкнуть.
я посмотрю на Вас когда вы будете из встроенного в nginx перла... например -- ходить в бд. тогда и поговорим.
> я посмотрю на Вас когда вы будете из встроенного в nginx перла... например -- ходить в бд. тогда и поговорим.разверните вашу мысль. а то создаётся впечатление, что кто-то fastcgi/perl не осилил.
И как я уже третий год обслуживаю клиентов и пишу вебсофты без установленного апача?
Наверное, не иначе, как придумываю.
такое впечатление что вы о нём только читали.
расклад на данный момент приблизительно такой. если одмин только собирается вылезти из анабиоза, стоит апач. если админ вылез из спячки, но разработчики ещё в ней, или проект очень большой и с острыми заточками именно под апач, nginx ставят фронтэндом. Если проект новый и админ уже выпил чашечку кофе, будет стоять nginx. сейчас я уже слабо понимаю, чем может быть вызван апач на сервере, кроме традиции.
Туда ему дорога. А что произошло в апреле 2009 года, что майкрософт так начал падать? Сентябрь 2011 ещё можно связать с взломом kernel.org.
> А что произошло в апреле 2009 годаNetCraft научился отличать Google от Microsoft
> Туда ему дорога. А что произошло в апреле 2009 года, что майкрософт так начал падать?Паре крупных сквоттерских контор надоело разбираться с его глюками и платить за дикий жор ресурсов.
> Паре крупных сквоттерских контор надоело разбираться с его глюками и платить за
> дикий жор ресурсов.А еще они осознали что серверная винда - сцуко денег стоит, как правило около килобакса за копию, а ничего такого чего не умел бы бесплатный линух она предложить не может.
Как это не может? Бесплатный линукс, между прочим, совершенно не готов к тому, чтобы стать узлом ботнета! Более того - ничего сколько-нибудь серьезного в этом направлении вообще не делается!
Да ладно тебе. Достаточно выложить код клиента и сервера ботнета под GPL (или даже лучше BSD) и небольшой ботнет сам образуется. Причём его ещё и до ума доведут совершенно бесплатно.
> Как это не может? Бесплатный линукс, между прочим, совершенно не готов к
> тому, чтобы стать узлом ботнета!Да ладно тебе, вон всякие chef/puppet/... - вполне себе средства управления ботнетом, замаскированные под административные тулзы :)
> Да ладно тебе, вон всякие chef/puppet/... - вполне себе средства управления ботнетом, замаскированные под административные тулзы :)вы смеётесь, а нам абуза приходила. Типа у вас порт отрыт, там сидит софт для управления компьютерами, проверьте! ага. нагиос - голимый жы ботнет.
...и не удивительно
> Отучаемся говорить за всех, недоумок. Твои хотелки столько отличаются от реального мира.Похоже, объективная реальность сильно наступила на вашу любимую мозоль.
Возвращайтесь-ка лучше в свой придуманный мир, где продукция microsoft оказывается надежной и безопасной, и побеждает конкурентов исключительно в честной борьбе, а не в бумажках маркетологов.
> побеждает конкурентов исключительно в честной борьбе,Она побеждает! Ценником! Переплюнуть столь наглые ценники еще ни один конкурент не осилил :)
И почему я не удивлен?
> И почему я не удивлен?"Есть просто ложь, грубая ложь и статистика от НетКрафт".
> "Есть просто ложь, грубая ложь и статистика от НетКрафт".ждём крутейшей статистики от анонима. где IIS 99%.
>> "Есть просто ложь, грубая ложь и статистика от НетКрафт".
> ждём крутейшей статистики от анонима. где IIS 99%.Наоборот, статистика от неткрафта обычно улучшает впечатление об IIS по сравнению с объективной реальностью.
> Наоборот, статистика от неткрафта обычно улучшает впечатление об IIS по сравнению с объективной реальностью.ничем не могу подтвердить это. в любом случае это не сильно помогает. 100500 лет на рынке и такой процент говорит ровно об одном - IIS == УГ.
> - IIS == УГ.Я вообще не понимаю как его корпорасты терпят. Нжинксу скопипастил первый конфиг из гугли и готово, за 5 минут все работает как часы. В IIS неделю мышкой надо возякать чтобы сайт заработал, а прикрутить какой-нибудь пыхпых вообще целая эпопея. Это вам не apt-get install packagename...
> Я вообще не понимаю как его корпорасты терпят.Работодателю пофиг, он видит готовое решение. Специалист в любом случае считает удобным то, с чем работает достаточно долго. Он уже набаловался с прикручиванием X, XX, XXX и прочего и знает с че стоит заморачиваться, с чем нет. И где какие тонкости.
Вопрос в том, насколько он знаком с другими решениями.
> "Есть просто ложь, грубая ложь и статистика от НетКрафт".Просто у неткрафта метод сбора статистики такой, что туда попадают дутики с 100500 дохлых доменов на хост.
Больше впечатляет "рывок" nginx этим летом. Что совпадает с появлением Nginx, Inc.Вобщем, пеар в IT видимо все-еще решает :(
> Больше впечатляет "рывок" nginx этим летом. Что совпадает с появлением Nginx, Inc.
> Вобщем, пеар в IT видимо все-еще решает :(Ну вообще-то рванул он немного раньше начала пеара, когда вордпресс на него перешел.
У меня в Хроме стоит экстэншн, который отображает данные из Server. Я вот с трудом могу припомнить когда последний раз видел IIS. Меньше пяти раз за прошлый месяц. Вот было бы интересно модифицировать этот экстэншн, чтобы он вел статистику.
> У меня в Хроме стоит экстэншн, который отображает данные из Server. Я
> вот с трудом могу припомнить когда последний раз видел IIS.Это не мешает существовать всякому паркинговому г-ну с кучей пустых заглушек, типа GoDaddy (который к тому же прославился поддержкой всяких там SOPA и PIPA).
Ну и еще всякие тупые корпорасты типа интела/асуса/амд/... упорно юзают этот тормозной корпоративный шит. Демонстрируя инвалидские тормозилки вместо сайтов с упорством достойным лучшего применения. Извиняюсь, но корпорация с миллиардными оборотами может себе наверное и нанять пару вменяемых вебдевелов чтобы переделать уже наконец эту архаику из 2000 года на что-то вменяемое и не тормозящее, мля (ну да, для этого IIS и ASP придется выбросить).
C programming language снова вырывается вперёд, что бы ни думали себе завистники.
> C programming language снова вырывается вперёд, что бы ни думали себе завистники.А кого он обогнал то? Все сколь-нибудь серьезные вебсервера вроде как на си и есть :)
Кто-нибудь нашел Sun?)))
> Кто-нибудь нашел Sun?)))У моего микроскопа увеличение оказалось недостаточным :(
Sun решили оставить в статистике из уважения к покойнику.
> Sun решили оставить в статистике из уважения к покойнику.Лучше бы вместо него лайти показывали. Зачем нам трупы?
>Лучше бы вместо него лайти показывали.Как привысит 0.6% будут показывать. Впрочем вы можете перейти по ссылке и посмотреть.
>Зачем нам трупы?
Вот,вот.