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