Поиск  
Always will be ready notify the world about expectations as easy as possible: job change page
Web Garden - повышение производительности веб-сервера

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

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

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

  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 доходит до состоянии «сейчас лопну», то каждое новое подключение к серверу распределяется между процессами по карусельному принципу.
Написать сообщение
Тип
Почта
Имя
*Сообщение
RSS
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете
Soft skills: 18 самых важных навыков, которыми должен владеть каждый работник
Выгорание эволюционирует. Что такое «тихий уход» — новый тренд среди офисных сотрудников
Пишем одностраничное приложение с помощью htmx
Регулярные выражения — это не трудно
Вопросы с собеседований, которые означают не то, что вы думаете
Мультитаскинг, или Как работать над несколькими проектами и не сойти с ума
Using a сustom PagedList class for Generic Pagination in .NET Core
Как мы столкнулись с версионированием и осознали, что вариант «просто проставить цифры» не работает
9 главных трендов в разработке фронтенда в 2024 году
Рассуждение на тему, какую базу данных выбирать
LinkedIn: Sergey Drozdov
Boosty
Donate to support the project
GitHub account
GitHub profile