Судя по нынешним темпам роста, веб-сервер Microsoft IIS может догнать свободный веб-сервер Apache где-то в конце 2008 года. Популярность некогда безусловного лидера Apache упала до девятилетнего минимума.
Столь неприятный для многих факт вытекает из последней статистики Netcraft Web Server Survey о количестве хостов, работающих на том или ином сервере. В августе 2007 года всего за один месяц территория IIS увеличилась ещё на 2,3 млн хостов, а в относительных цифрах его доля выросла на 1,4 процентных пункта до 34,2%. Доля Apache снизилась до минимального за последние девять лет значения 48,4%.
На графике видно, что стремительное падение Apache наблюдается уже более двух лет. Всего за два года разница между Apache и IIS сократилась с 50% до 16,7% (а среди активных сайтов — до 12,2%). Если так будет продолжится и дальше, то уже в конце 2008 года IIS догонит и перегонит Apache. Правда, в битву двух гигантов может вмешаться таинственный третий игрок.
Там есть второй график, по активным сайтам, в число которых не попадают запаркованные домены. Вот он:
Объяснять рост IIS'а одним только GoDaddy - это всё-таки упрощение, Вам не кажется?
Да ёлки зеленые. Мои слова изначально надо было трактовать с "немного юмора". Это была подколка.
Вообще мне надо завязывать трясти тряпками перед быками. :(
Вы бы еще написали "Солярис надо заслужить".
Я вообще не люблю бороться с операционными системами. Мне кажется, смысл ОС в том, чтобы пользователю (в широком смысле) было бы удобно с ней работать. ОС должна get the job done.
Но Вы этого не поймёте, у вас вся жизнь - борьба и настройка, настройка и борьба.
Вы привели ссылку на полную глупость, извините. Просто архитектура апача хуже. Это всем очевидно, по этому и строя веб-акселераторы ставя перед апачем тот же IIS, Ngix или там Squid. Это просто объективность, с ней спорить безсмыслено - уверяю вас.
Пожалуйста. Автор текста - http://dmih.livejournal.com/
Apache
Сервер состоит из диспетчера, который занимается только приемом TCP соединений и хранением конфигурации, и модулем обработки запросов, который занимается всем остальным.
Разница между Apache 1.3 и 2 состоит в разной реализации модуля обработки запросов.
Apache 1.3 обладает двумя общепринятыми режимами:
1) UNIX: традиционно – модуль обработки запросов запускает новый процесс ОС на обработку каждого запроса.
Называется fork или pre-fork или per-fork.
2) Windows: традиционно – модуль обработки запроса представляет собой один многопоточный процесс, обрабатывающий запросы в разных потоках.
Количество потоков ограничено и фиксировано, например 50 или 100.
Apache 2:
На обоих типах систем допустим и принят вариант, аналогичен 2) для Apache 1.3, к тому же, может присутствовать несколько многопоточных процессов для обработки запросов.
Типичная проблема Веб-сервера Apache заключается в том, что для обработки любого запроса управление передается либо отдельному процессу, либо отдельной нити Веб-сервера.
Количество нитей в процессе ограничено (по соображениям производительности и – важнее - доступной памяти).
Работа большого количества нитей затрудняет работу ОС.
Работа большого количества процессов – тем более.
Это является плюсом только в том, что обработка всех запросов производится единообразно и довольно простым образом, в связи с чем к Apache написали огромную кучу модулей, в том числе сложных (mod_rewrite), которые реализованы достаточно просто.
Во всем остальном (производительность, скорость работы, КПД использования процессора, памяти, предсказуемость) это является большим минусом.
Суть Веб-акселератора в том, чтобы перед Apache поставить какой-то еще Веб-сервер, который будет обрабатывать простые запросы в однопоточном режиме. Производительность разных типов серверов хорошо отражена в этом исследовании:
http://www.acme.com/software/thttpd/benchmarks.html
Обратите внимание на график в конце статьи. Чем выше и чем правее, тем лучше.
Белый, красный, синий сервер (3 лидера) – пример эффективной реализации однопоточного Веб-сервера.
Зеленый – «облегченный» Apache.
Зеленый, линия из точек – традиционный Apache (исполняющий динамический запрос, правда, в CGI режиме, но даже в режиме модуля результат сравним).
Сервер не имеет встроенного сервера HTTPS протокола. Расширение Apache (mod_ssl) является «[грязным] хаком» основного процесса работы сервера и представляет собой встроенный прокси-сервер, приводящий запросы к обычному HTTP виду. Пользоваться этой конструкций довольно неудобно.
IIS
Стандартный Веб-сервер Windows Server, сильно эволюционировавший за годы развития самой системы.
Состоит из трех модулей:
Модуль управления и хранения конфигурации.
Сетевой драйвер, обеспечивающий обработку простых статических запросов на уровне, максимально приближенном к драйверу сетевой карты.
Модуль обработки динамических запросов.
Сервер «плох» единственным – он не совместим со стандартами конфигурирования Apache (.htaccess, mod_rewrite, и т.д.). Всё остальное сделано на хорошем уровне, если рассматривать его отдельно от привычных практик UNIX хостинга, IIS близок к идеалу Веб-сервера и позволяет использовать аппаратуру сервера с максимальным КПД без всяких дополнительных ухищрений.
Статические запросы обрабатываются модулем-драйвером сетевого уровня, в одном потоке, не имея никаких дополнительных расходов.
Исполнение динамических запросов произвольно конфигурируется с помощью групп приложений, это позволяет в рамках одного экземпляра сервера выделять рабочие процессы и режимы их использования (количество нитей и т.д.) в соответствии с необходимыми параметрами.
Например, при выявлении того, что процесс обработки запросов какого-то зависает или вызывает перегрузку сервера, можно выделить обработку этого сайта в отдельную группу приложений и таким образом понаблюдать его в виде отдельного процесса ОС, точно средствами ОС замеряя все необходимые параметры (надежность работы, используемую память, ресурсы).
Сервер имеет встроенную поддержку HTTPS протокола.
По поводу того что нужно ставить ДРУГОЙ web-сервер для статики и написано (тут и выше мной) - если вы считаете это плюсом апача (как и отсутствие HTTPS), то мне остаётся просто руками развести.
Вы поймите, то что вы не согласны ничего, увы, не меняет. Доля апача безусловно будет снижаться в связи с развитием технологий и отставанием от них апача. Даже если бы вообще не существовало IIS.
А у Вас есть какие-либо данные в подтверждение Ваших сло? Про запуск PHP на IIS'е (зачем? Кому это надо?), например. И завышение роста популярности IIS'а (кто завышает? Где?).
"Сравнивать популярности" дело неблагодарное. Но тут речь идет о динамике. О росте.
DEL, не хочу с Вами больше спорить.
У меня ощущение, что я разговариваю с коллективным разумом LOR'а. Ощущение не из приятных, поверьте. Вы резво отметаете факты (если они не соответствуют Вашей точке зрения), вместо них подставляете какие-то свои домыслы и суждения. Я абсолютно не вижу смысла в таком общении. Всего наилучшего.
Про фанатизм вы ей богу не по адресу.
Я пользуюсь, в основном, браузером FF. Предпочитаю VMWare Workstation, а не Virtual PC. Python в качестве скриптового языка, а не VBScript. Ну и так далее.
Без фанатизма. Просто я выбираю продукты не из религиозных соображений.
Windows-серверы не перегонят UNIX по одной простой причине: разработка сайтов на .Net дороже, чем разработка для UNIX-серверов на том же php.
Обратите внимание на график использования серверов для "активных" сайтов. Активных в кавычках потому что Apache резко упал как раз в период перевода серверов godaddy на Windows.
>разработка сайтов на .Net дороже, чем разработка для UNIX-серверов на том же php.
Вот ничего подобного :) Если речь идет о серьезных крупных проектах, то .NET дешевле и надежнее.
Чем дешевле-то? Подробнее, пожалуйста :) И кстати, для крупных проектов сравнить php и .NET по крайней мере не корректно. Сравнивайте с Java тогда.
А вообще, речь шла не о крупных проектах, а о том, что количество доменов с IIS (а соответственно это будет ASP.NET и Windows), никогда не станет выше, чем доменов под управлением UNIX. И в качестве объяснения, я привел тот факт, что сделать сайт на таких технология как php, ruby. python etc. дешевле, чем аналогичный на .NET.
Дык не так уж там всё и просто :) Профиль пользователя написан на чем-то Lisp'оподобном. Автор это называет LSharp. Крайне забавная штука, спасибо за наводку!
Там, увы, нет графического дизайнера для веб-форм. На мой взгляд, это не страшно (один фиг серьезные стронички надо кодить руками или в Expression'е), но формально исключает SD из списка инструменов для веб-разработки.
Я же говорю про чисто формальную сторону вопроса. =)
Собственно, именно поэтому я там выше написал только про VSE:WD. И то вон г-н DEL что сказал. Не профессиональное оно ни разу, оказывается.
Абсолютно согласен с Вами. Но поскольку конструктивного (и полезного!) общения тут всё равно не получается, можно хоть похоливорить. Весело, но вредно для кармы. :)
Hint!
Я сейчас имею необходимость менять логины, после того как карма валится ниже -5, ибо иначе подискутировать конечно можно, и я даже уверен, что никто из спорящих над кармой не надругается, но всё равно найдётся макака, а то и две, которые оную карму растопчут :(
Извините, я не понял, что Вы хотели сказать =) То, что с отрицательной кармой очень тяжко жить - это и так понятно. Но мне, если честно, по барабану. Информационная ценность данного ресурса для меня стремится к нулю, а холиварить мне скоро надоест.
Чисто технологический вопрос: где сейчас применяется Smalltalk? У меня сложилось впечатление, что он стал практически академическим языком, типа Pascal или Prolog. Почти идеальной базой для изучения ООП, но совсем не практической.
Аналогичный вопрос про Erlang - где применяется, кроме телекоммуниационных систем?
Да кто бы спорил, ей богу.
Только Вы поставьте себя на место наемного программиста и посмотрите количество вакансий на Java/.NET и на Ruby.
Другое дело, если речь идет о стартапах и проектах "для себя".
даже читать все это не буду... уж очень много
думаю, надо к этому вопросу (iis vs. apache) подойти так:
Большенство современных сайтов сайтов требуют БД, в случаи
с iis, авторы рекомендуют ms sql, знаете сколько стоит лицензия на процессор для ms sql... поинтересуйтесь у ms о цене, вопросов будет значительно меньше
Здесь нет поправки и на число арендованных выделенных серверов.
Иначе говоря, я могу арендовать сервак на windows, с соотвествующими сервисами sql от хостера, Это не очень дорого. Но если покупать сервер и систему, я выберу например bsd, потому что в этом варианте стоимость будет ниже, чем покупка всех лицензий МС
из противоречивых сообщений можно понять, что происходит девиация около среднего уровня. Ситуация меняется исключительно по причине неоднородности параметров по которым оценивается ситуация)
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.
комментарии (137)
Объяснять рост IIS'а одним только GoDaddy - это всё-таки упрощение, Вам не кажется?
Я сомневаюсь. По-моему, кол-во толковых windows-админов, которые с умом могут настроить IIS не может так быстро расти)
Этот ваш комментарий - как раз пример того, почему продолжать не имеет смысла.
Вообще мне надо завязывать трясти тряпками перед быками. :(
Я вообще не люблю бороться с операционными системами. Мне кажется, смысл ОС в том, чтобы пользователю (в широком смысле) было бы удобно с ней работать. ОС должна get the job done.
Но Вы этого не поймёте, у вас вся жизнь - борьба и настройка, настройка и борьба.
Но понимаете какое дело... надо ведь работать, а не бороться.
Apache
Сервер состоит из диспетчера, который занимается только приемом TCP соединений и хранением конфигурации, и модулем обработки запросов, который занимается всем остальным.
Разница между Apache 1.3 и 2 состоит в разной реализации модуля обработки запросов.
Apache 1.3 обладает двумя общепринятыми режимами:
1) UNIX: традиционно – модуль обработки запросов запускает новый процесс ОС на обработку каждого запроса.
Называется fork или pre-fork или per-fork.
2) Windows: традиционно – модуль обработки запроса представляет собой один многопоточный процесс, обрабатывающий запросы в разных потоках.
Количество потоков ограничено и фиксировано, например 50 или 100.
Apache 2:
На обоих типах систем допустим и принят вариант, аналогичен 2) для Apache 1.3, к тому же, может присутствовать несколько многопоточных процессов для обработки запросов.
Типичная проблема Веб-сервера Apache заключается в том, что для обработки любого запроса управление передается либо отдельному процессу, либо отдельной нити Веб-сервера.
Количество нитей в процессе ограничено (по соображениям производительности и – важнее - доступной памяти).
Работа большого количества нитей затрудняет работу ОС.
Работа большого количества процессов – тем более.
Это является плюсом только в том, что обработка всех запросов производится единообразно и довольно простым образом, в связи с чем к Apache написали огромную кучу модулей, в том числе сложных (mod_rewrite), которые реализованы достаточно просто.
Во всем остальном (производительность, скорость работы, КПД использования процессора, памяти, предсказуемость) это является большим минусом.
Суть Веб-акселератора в том, чтобы перед Apache поставить какой-то еще Веб-сервер, который будет обрабатывать простые запросы в однопоточном режиме. Производительность разных типов серверов хорошо отражена в этом исследовании:
http://www.acme.com/software/thttpd/benchmarks.html
Обратите внимание на график в конце статьи. Чем выше и чем правее, тем лучше.
Белый, красный, синий сервер (3 лидера) – пример эффективной реализации однопоточного Веб-сервера.
Зеленый – «облегченный» Apache.
Зеленый, линия из точек – традиционный Apache (исполняющий динамический запрос, правда, в CGI режиме, но даже в режиме модуля результат сравним).
Сервер не имеет встроенного сервера HTTPS протокола. Расширение Apache (mod_ssl) является «[грязным] хаком» основного процесса работы сервера и представляет собой встроенный прокси-сервер, приводящий запросы к обычному HTTP виду. Пользоваться этой конструкций довольно неудобно.
IIS
Стандартный Веб-сервер Windows Server, сильно эволюционировавший за годы развития самой системы.
Состоит из трех модулей:
Модуль управления и хранения конфигурации.
Сетевой драйвер, обеспечивающий обработку простых статических запросов на уровне, максимально приближенном к драйверу сетевой карты.
Модуль обработки динамических запросов.
Сервер «плох» единственным – он не совместим со стандартами конфигурирования Apache (.htaccess, mod_rewrite, и т.д.). Всё остальное сделано на хорошем уровне, если рассматривать его отдельно от привычных практик UNIX хостинга, IIS близок к идеалу Веб-сервера и позволяет использовать аппаратуру сервера с максимальным КПД без всяких дополнительных ухищрений.
Статические запросы обрабатываются модулем-драйвером сетевого уровня, в одном потоке, не имея никаких дополнительных расходов.
Исполнение динамических запросов произвольно конфигурируется с помощью групп приложений, это позволяет в рамках одного экземпляра сервера выделять рабочие процессы и режимы их использования (количество нитей и т.д.) в соответствии с необходимыми параметрами.
Например, при выявлении того, что процесс обработки запросов какого-то зависает или вызывает перегрузку сервера, можно выделить обработку этого сайта в отдельную группу приложений и таким образом понаблюдать его в виде отдельного процесса ОС, точно средствами ОС замеряя все необходимые параметры (надежность работы, используемую память, ресурсы).
Сервер имеет встроенную поддержку HTTPS протокола.
По поводу того что нужно ставить ДРУГОЙ web-сервер для статики и написано (тут и выше мной) - если вы считаете это плюсом апача (как и отсутствие HTTPS), то мне остаётся просто руками развести.
Вы поймите, то что вы не согласны ничего, увы, не меняет. Доля апача безусловно будет снижаться в связи с развитием технологий и отставанием от них апача. Даже если бы вообще не существовало IIS.
Но всё равно, как то сильно круто - самые серъезные проекты (google, youtube) используют Linux, на которые IIS не ставистся
А так, как известно, Веб 2.0 построен на Linux, а компании Fortune 1000 выбирают IIS.
"Сравнивать популярности" дело неблагодарное. Но тут речь идет о динамике. О росте.
Я знаю, кто провёл это исследование. Более того, я сам об этом написал. Вы не верите в то, что данные исследования правдивы?
У меня ощущение, что я разговариваю с коллективным разумом LOR'а. Ощущение не из приятных, поверьте. Вы резво отметаете факты (если они не соответствуют Вашей точке зрения), вместо них подставляете какие-то свои домыслы и суждения. Я абсолютно не вижу смысла в таком общении. Всего наилучшего.
Я пользуюсь, в основном, браузером FF. Предпочитаю VMWare Workstation, а не Virtual PC. Python в качестве скриптового языка, а не VBScript. Ну и так далее.
Без фанатизма. Просто я выбираю продукты не из религиозных соображений.
Обратите внимание на график использования серверов для "активных" сайтов. Активных в кавычках потому что Apache резко упал как раз в период перевода серверов godaddy на Windows.
Все, что сказано мною о GoDaddy считать неправильным :)
Вот ничего подобного :) Если речь идет о серьезных крупных проектах, то .NET дешевле и надежнее.
А вообще, речь шла не о крупных проектах, а о том, что количество доменов с IIS (а соответственно это будет ASP.NET и Windows), никогда не станет выше, чем доменов под управлением UNIX. И в качестве объяснения, я привел тот факт, что сделать сайт на таких технология как php, ruby. python etc. дешевле, чем аналогичный на .NET.
А вот средства разработки есть как платные, так и бесплатные. То же касается библиотек.
Так что на первые места в факторах, определяющих стоимость проекта, выходят скорость разработки, легкость поддержки, тестирования и отладки.
Собственно, именно поэтому я там выше написал только про VSE:WD. И то вон г-н
Я сейчас имею необходимость менять логины, после того как карма валится ниже -5, ибо иначе подискутировать конечно можно, и я даже уверен, что никто из спорящих над кармой не надругается, но всё равно найдётся макака, а то и две, которые оную карму растопчут :(
P.S. тут развитие темы...
Причем первый с потрясающей скоростью стремится ко второму по тематике и контингенту.
Можно неполиткорректный вопрос? а вам сколько лет?
Аналогичный вопрос про Erlang - где применяется, кроме телекоммуниационных систем?
Все-таки эти вещи не только on the edge, но еще и marginal =)
Она и так небольшая была...
Это за то, что я .NET-программист, что ли?)
Только Вы поставьте себя на место наемного программиста и посмотрите количество вакансий на Java/.NET и на Ruby.
Другое дело, если речь идет о стартапах и проектах "для себя".
думаю, надо к этому вопросу (iis vs. apache) подойти так:
Большенство современных сайтов сайтов требуют БД, в случаи
с iis, авторы рекомендуют ms sql, знаете сколько стоит лицензия на процессор для ms sql... поинтересуйтесь у ms о цене, вопросов будет значительно меньше
Иначе говоря, я могу арендовать сервак на windows, с соотвествующими сервисами sql от хостера, Это не очень дорого. Но если покупать сервер и систему, я выберу например bsd, потому что в этом варианте стоимость будет ниже, чем покупка всех лицензий МС
из противоречивых сообщений можно понять, что происходит девиация около среднего уровня. Ситуация меняется исключительно по причине неоднородности параметров по которым оценивается ситуация)