7 сентября стартовал сезон «IT-пятницы с GigaCloud» — вечерних конференций для профессионального IT-сообщества. Эти встречи, на которых приглашают ведущих технических специалистов, заточены на неформальное обсуждение узкоспециальных тем. Они могут поделиться собственными best practices и интересными проектными кейсами. В программе — общение на «ты», вопросы с места, пиво, пицца и закуски. GigaCloud как организатор создали максимально непринужденную атмосферу для продуктивного нетворкинга и комфортного обучения.
На первой IT-пятнице выступили системные архитекторы GigaCloud Кирилл Науменко и Алексей Кириченко, а также CEO vixen.uno Дмитрий Харитонов. Встречу открыл доклад модератора конференции, архитектора VMware Кирилла Науменко. Он рассказал, как распределить процессорную мощность в рамках виртуализации на основе гипервизора VMware. Поинты его доклада предоставляем ниже.
Кирилл Науменко: «Виртуализации решает задачу максимального использования возможностей процессора»
«Определение объема и резервирование памяти и жесткого диска является относительно простой задачей, хотя манипулировать переподпиской достаточно трудно. К примеру, БД SQL занимает всю отведенную память.
С процессором дела обстоят сложнее. В этом случае всегда нужно включать переподписку, поскольку процессор редко бывает загружен на 100%. Одной из причин появления виртуализации является стремление максимально использовать возможности процессора. Здесь необходимо найти компромисс между приобретением необходимого оборудования и предоставлением требуемой вычислительной мощности для предлагаемого сервиса в любой момент времени.
Основные показателями процессора, которые можно увидеть со стороны хоста, — это CPU Ready, Co-Stop и Limits. CPU Ready показывает, что машина готова отдать свои инструкции на выполнение процессору, но они стоят в очереди, потому что процессор занят выполнением других инструкций. Co-Stop информирует о том, какое время процессоры в многопроцессорной системе ждут синхронизации с другими процессорами. Чем больше ядер в системе, тем больше Co-Stop. Если он растет быстрее, чем CPU Ready, то нужно в системе уменьшить количество ядер. Limits показывает квоту, которая выделяется процессору. Для всех этих показателей можно устанавливать триггеры для контроля роста.
Со стороны ВМ основными показателями являются CPU Stolen Time и Processor Time. Установка VMware Tools позволяет портировать эти показатели внутрь ВМ. Первый показывает количество времени, которое «украл» гипервизор, не посылая инструкции на выполнение, второй — количество времени, которое CPU использовал на выполнение инструкций.
В рекомендации по повышению производительности входят, в частности, требование совместимости железа и прошивок, включение режимов VT-x и Hyper-treading в BIOS, отключение NUMA node interleaving или включение Enable NUMA и EXSI и отключение всех неиспользуемых устройств для высвобождения прерываний».
Доклад архитектора OpenStack GigaCloud Алексея Кириченко был посвящен построению отказоустойчивых решений для бизнеса, базирующегося на IT. Спикер описал детали реального проекта — веб-магазина с вертикальной IT-инфраструктурой, которая может быть недоступной при аппаратных сбоях. В нем было построено отказоустойчивое решение с гарантированной доступностью 24/7 и переходом на новую архитектуру практически без остановки сервисов.
Алексей Кириченко: «Одно из преимуществ архитектуры master-master — непрерывность доступа и 100% гарантия сохранения данных»
«Переход на новую архитектуру необходимо разделить на несколько этапов. Они включают создание балансировки на уровне сети, при этом ИТ-инфраструктура распределялась по двум ЦОД, резервирование и балансировка веб-серверов и резервирование и балансировка БД. В результате получалось две независимых вычислительных системы, каждая из которых располагалась в соответствующем ЦОД. Доступ к каждой системе выполнялся по каналам независимых интернет-провайдеров.
Для балансировки на уровне сети на серверах, находящихся в разных ЦОД, использовался сервис HAProxy. Связь между серверами балансировки и другими сервисами обеспечивалась посредством растянутых L2-доменов.
На втором этапе для резервирования и балансировки веб-серверов использовался сервер синхронизации Lsyncd (Live Syncing Daemon) в режиме source-destination, перезапускался каждый веб-сервер в кластерах и выполнялось резервирование на уровне веб-сервера. При этом нагрузка распределялась между серверами.
На этапе резервирования и балансировки БД использовалась архитектура master-master. В числе ее преимуществ — непрерывность доступа и 100% гарантия сохранения данных. В данном решении для балансировки также применялся HAProxy. Такая архитектура позволяет обработать более 1000 запросов «запись + обновление» в секунду. Для архитектуры кластера master-master есть готовые решения — это Percona XtraDB Cluster и MariaDB.
Балансировку трафика, поступающего на серверы БД, можно выполнять с помощью HAProxy, который устанавливается на веб-серверы, а не на ВМ. В числе его возможностей — проверка доступности каждого узла с помощью тестовых запросов, выключение проблемного узла до момента восстановления его корректной работы, включение режима работы с одним узлом с максимальной версией репликации в случае рассинхронизации, равномерное распределение запросов между всеми узлами, создание на каждом узле независимых резервных копий».
В конференции с докладом об оркестрации компонентов VMware также выступил CEO компании vixen.uno Дмитрий Харитонов.
Следующая встреча в рамках «ИТ-пятницы с GigaCloud» пройдет 5-го октября. Организаторы приглашают к участию слушателей и докладчиков. Зарегистрироваться можно по ссылке: https://goo.gl/mZVVE8.
Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365