Microsoft Certified Technology Specialist
разработка сайтов
оптимизация сайта
веб-дизайн
продвижение сайтов
SEO
HTML5
CSS3
ASP.NET
ASP.NET MVC
jQuery
Bootstrap
 
Always will be ready notify the world about expectations as easy as possible: job change page

Web Garden - повышение производительности веб-сервера

Добавлено: 29 июня 2015
Просмотров: 24

Чем больше сайт и количество подключений, тем сложнее серверу справляться с обработкой всех запросов. Грамотно реализованное приложение может использовать различные кэширующие механизмы, сервер может быть достаточно производительным, но однажды может наступить момент когда всего этого уже недостаточно. Есть несколько способов решить эту проблему:

  1. Поставить ещё более мощный сервер.
  2. Распараллелить web приложение.
  3. Распараллелить чтоб аж Google «завидовал» - построить Web Farm.

2-й способ является наиболее оптимальным, потому что просто более мощный сервер может решить проблему лишь на некоторое время, а построить Web Farm - уже слишком дорого покупать несколько серверов. К тому же 2-й способ является очень простым и не требует дополнительных ресурсов и растрат.

Web Garden (веб-сад) это web приложение в котором количество рабочих процессов больше 1. Этот механизм появился в IIS 6, в котором также появилась возможность создавать N пулов под N сайтов (max 2000 pools). Каждый пул в IIS по умолчанию работает в режиме isolation mode, это значит, что каждый пул будет иметь свою память, свой контекст и свои границы приложения. Также это значит, что если сайт «упадёт», то упадёт только этот пул, с сайтами которые в нём существуют, но не весь сервер, как было раньше в IIS 5). Поскольку пул может работать изолированно, мы можем дать ему возможность создавать ещё процессы для того, чтобы приложение могло выдерживать больше подключений. Тем самым мы его распараллеливаем, снижая блокировки на ресурсы, используемые приложением. Все запросы, которые приходят в конкретный пул, разделяются между процессами web сада. Таким образом, используя Web Garden на Blackball.LV удалось решить проблему постоянного перезапуска IIS 7.0 Application Pool из-за чрезмерно высокой нагрузки.

Примущества Web Garden:

  • Легко настраивается;
  • Надежная и устойчивая обработка запросов. Если один из процессов в пуле будет работать не стабильно или «упадёт» по неизвестным причинам, то его сразу подменит другой процесс из пула;
  • Меньше блокировок на ресурсы. Когда web garden доходит до состоянии «сейчас лопну», то каждое новое подключение к серверу распределяется между процессами по карусельному принципу.
Написать сообщение
Эл. почта
*Сообщение

© 1999–2017 WebDynamics
Valid XHTML 1.0 Transitional Правильный CSS!
1980–... Sergey Drozdov

Area of interests:
.NET | C# | ASP.NET WebForms | ASP.NET MVC | Windows Forms | Windows Phone | HTML5 | CSS3 | jQuery | AJAX | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | UML | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban Development