Особенности виртуального UNIX-хостинга и основные проблемы нагрузочного характера Основная секция
Технический директор компании NGENIX, российского провайдера комплексных услуг защиты, ускорения и обеспечения доступности публичных веб-ресурсов. В NGENIX Дмитрий отвечает за управление командами разработки, эксплуатации и сопровождения облачных сервисов для высоконагруженных приложений.
Более 25 лет опыта в проектировании и разработке технологических продуктов и сервисов, организации рабочих процессов, управлении проектами и командами. Глубокий технический бэкграунд в области разработки и эксплуатации облачных сервисов, высоконагруженных веб-проектов, сетевой инфраструктуры, ЦОД.
Развитие процессов, навыков и культуры эффективной продуктовой разработки.
Тезисы
Тезисы:
Особенности виртуального UNIX-хостинга и основные проблемы нагрузочного характера
Рассмотрим типовую структуру хостинговой системы.
Базовое ПО и бОльшая часть системных ресурсов на типовом виртуальном хостинге общая и штатным средствами четко не делится. Причем основным узким местом в случае разумных настроек системы обычно являются процессорные ресурсы, реже - память, и только на последнем месте дисковая подсистема.
Основные проблемные места:
- web-сервер (для хостинга apache - стандарт де-факто):
- сам web-сервер (раздача контента)
- обработка пользовательских правил (rewrite и т.п.)
- обработка пользовательских скриптов модулями сервера (php и т.п.)
- скрипты пользователей
- сервер БД (чаще всего MySQL)
- другие общесистемные процессы, нагруженные в результате действий пользователей (например, отправка большого количества почты)
Мы рассмотрим, каким образом в разных случаях распределяются ресурсы по пользователям, как они лимитируются стандатными средствами и какие при этом возникают сложности.
Типовые методы выявления проблемных ресурсов и предотвращения типовых проблем
В данном разделе мы рассмотрим типовые причины появления высокой нагрузки на рассмотренных выше участках и достаточно стандартные действия, позволяющие как предотвратить чрезмерный рост нагрузки, так и локализовать узкое место и ресурс, создающий нагрузку. Эти процедуры далеко не всегда эффективны и иногда занимают заметное время, но сама схема виртуального хостинга и используемое ПО часто не оставляют других стандартных вариантов.
Варианты доработки хостинговой системы для увеличения эффективности работы с нагрузками
В этом разделе мы рассмотрим возможные механизмы автоматизации и варианты доработки хостинговой среды (от простого к сложному), позволяющие эффективнее работать с нагрузками на разных стадиях:
- автоматизация ручных операций для минимизации времени реагирования и снижения затрат
- простые и эффективные доработки web-сервера (apache)
- простые доработки сервера БД MySQL