9. В общем работает на всем, что движется где есть процессор.На моем WiFi-маршрутизаторе дома, например, работать будет For TulaDev.net 2011
10.
11. 12 апреля 2011 года выпустил версию 1.0Насколько популярен (данные netcraft.com, май 2011): Насколько популярен (данные w3techs.com, май 2011): «Nginxis used by 7.1% of all the websites whose web server we know». Для .ruдоменов - 47.7%. http://w3techs.com/technologies/breakdown/ws-nginx/top_level_domain For TulaDev.net 2011
16. Давайте определим понятия Масштабирование – это механизм, позволяющий пропорционально увеличивать производительность системы за счет добавления нового оборудования. Отказоустойчивость – это механизм, позволяющий не терять работоспособности системы при выходе из строя единицы оборудования. Можно рассматривать эти термины в контексте программ, компьютеров или компьютерных комплексов (кластеров). For TulaDev.net 2011
17. Зачем это нужно? Для того, чтобы понять, зачем я затеял этот доклад, давайте сделаем эксперимент. Давайте посчитаем, сколько запросов к среднестатистическому сайту делает среднестатистический пользователь. Возьмем первый попавшийся сайт, например, http://www.tuladev.net/ For TulaDev.net 2011
18. Зачем это нужно? Протокол обращений к серверу: For TulaDev.net 2011
24. 95% запросов для обработки не требуют никакой сложной логики. С обработкой таких запросов вполне мог бы справиться один из первых HTTP-серверов в истории человечества.For TulaDev.net 2011
25. Зачем это нужно? Оперируя понятиями .NET, C#, ASP мы с вами сможем оптимизировать лишь 5% всех запросов, обрабатываемых сервером для того, чтобы отобразить пользователю главную страницу этого среднестатистического сайта. Чтобы оптимизировать остальные 95% нам нужно разбираться уже не столько в .NET, сколько в настройках и производительности web-сервера. Этот вопрос лежит скорее в области системного администрирования, но я думаю, что мы с вами разберемся. For TulaDev.net 2011
26. А есть ли проблема? Так может быть нет ничего страшного в этих запросах к статическим файлам? Может быть это всего лишь «песок» и он не оказывает существенного влияния на скорость загрузки страницы. Чтобы ответить на этот вопрос давайте вспомним, что быстрее скопировать: 1 файл в 1 Mb или 1000 в 1 Kb? Мелкие файлы всегда медленнее передавать из-за наличия накладных расходов. For TulaDev.net 2011
27.
28. Debian Linux (nginx) (256 Mb) – работает Nginx 1.0.1192.168.250.2:80 – Apache192.168.250.3:80 – Nginx192.168.250.4:80 – Nginx
32. NginxВ качестве тестирующего приложения буду использовать утилиту ApacheBench http://httpd.apache.org/docs/2.0/programs/ab.html For TulaDev.net 2011
35. NginxВ качестве тестирующего приложения буду использовать утилиту ApacheBench http://httpd.apache.org/docs/2.0/programs/ab.html For TulaDev.net 2011
36.
37. Nginx – это HTTP-сервер. Он изначально создавался именнодля целей быстрой обработки запросов.Игорь Сысоев называет причиной такой разницы то, что nginxиспользует вызов sendfile (для не Linux платформ используются другие механизмы). Читаем, что такое sendfile: «системный вызов, который выполняет передачу файла за одно обращение», при этом «не происходит переключение контекста между пользовательским режимом и режимом ядра, а это весьма "дорогостоящая"операция». For TulaDev.net 2011
38. Что позволяет Nginx Масштабирование Nginxпозволяет скрывать за собой сотни серверов, которые будут иметь единую точку входа. Распределять между ними запросы практически по достаточно широкому набору возможных правил. Отключение любого из серверов бэкэнда не повлияет на работоспособности системы (естественно пропорционально просядет производительность) Но отключение сервера с Nginxроняет всю систему.Как быть? For TulaDev.net 2011
39. Что позволяет Nginx Отказоустойчивость Nginxсам является единой точкой отказа. Чтобы обеспечить близкую к 100% отказоустойчивость нужно воспользоваться дополнительным механизмом. CARP позволяет сделать так, что несколько машин могут обслуживать запросы к одному IP. Выход из строя любой из них не нарушает работоспособности системы. На практике 2-х машин хватит, чтобы обеспечить очень близкую к 100% отказоустойчивость. For TulaDev.net 2011
40. И снова, а где Microsoft? Nginx – это не панацея. Он не умеет выполнять приложения .NET (хотя умеет, например, perl) Это всего лишь маленький легкий HTTP-сервер, который умеет здорово отдавать статические файлы. Но кроме этого его можно использовать для проксирования других Web-серверов. Вот тут и вступает в игру IIS. Связка Nginx+IISгораздо мощнее отдельного IIS или отдельного Nginx. For TulaDev.net 2011
48. Поток входящих запросов не могут обработать все доступные бэкенды. (Здравствуй, 504 Gateway time out).
49. Поток входящих запросов таков, что не справляется Nginx. Тут нужно применять DNS round robin.
50. По каким-то причинам нет возможности использовать Unix-систему. (Несмотря на то, что Nginxработаетв Windows, производительность и надежность там будет не та).For TulaDev.net 2011
51. На этом все Почитать об Nginx: http://sysoev.ru/nginx/ Задать мне вопрос: sergey.shebanin@ingate.ru