Планирование Front-серверов
Основная задача Front-серверов — расчет хеш-сумм. На каждое скачивание рассчитывается хеш SHA1 4 раза, на сохранение — от 4 до 6 раз, в зависимости от выбранного метода авторизации S3 v2/v4.
Пиковая пропускная способность одного обработчика (worker) Public nginx составляет 25 МБ/сек при сохранении объекта и приблизительно 50 Мбайт/сек на одно ядро CPU.
Один обработчик использует 1 ядро CPU.
Если используется SSL, необходимо увеличить количество обработчиков. На основании данного показателя можно рассчитать необходимое количество ядер CPU на Front-серверах. Требуется от 2 до 4 МБ оперативной памяти на каждое ядро CPU.
Для резервирования трафика (повышения отказоустойчивости) требуется кратное увеличение количества Front-серверов.
Компоненты Hitrod и Go-streamer размещаются на Front-серверах, их количество одинаковое для каждого Front-сервера. Компонент Wires размещается на каждом Front-сервере в единственном экземпляре.
Компоненты Front-серверов не обеспечивают балансировку входящего трафика, поэтому рекомендуется размещать перед ними дополнительные аппаратные или программные балансировщики нагрузки.
На Front-серверах хранятся логи Nginx. Во избежание заполнения дискового пространства в Системе используется управление логами (ротация): удаление устаревших логов и архивирование на установленный период времени.
Стандартные настройки ротации логов Системы:
- Проводится ежедневная архивация со сжатием логов за прошлый день.
- Все логи хранятся за последние 7 дней.
- Часть архивированных логов (составляющие примерно 15% от всех логов) хранится 45 дней.
Для расчета берутся следующие данные:
- Логи за сутки в несжатом виде на 1 запрос (одно обращение к Front-серверу) занимают около 6 КБ.
- объем архивированных логов на 1 запрос за сутки занимают примерно 0,7 КБ.
- Среднее количество запросов (RequestsPerDay, RPD) к Front-серверу за сутки (количество строк
END=в логе Nginx).
Объем всех логов рассчитывается как сумма логов за сутки, архивированных логов за 6 дней и 15% архивированных логов за 45 дней.
Формула расчета дискового пространства (в КБ), занимаемого логами на одном Front-сервере:
6 x RPD + 0,7 x RPDx 6 + 0,7 x RPDx 0,15 x 45