Планирование фермы SharePoint
Планирование топологии фермы SharePoint 2013/2016. Примеры расчета и TechNet-обоснование.
MinRole
В SharePoint 2016 RC появилась новая функция: определение роли сервера в ферме SharePoint. Теперь при конфигурации топологии можно выбрать одну из ролей для каждого сервера:
- Внешний интерфейс (Front-end)
- Приложение (Application)
- Распределенный кэш (Distributed cache)
- Поиск (Search)
- Пользовательский сервер (Custom)
- Односерверная ферма (Single-server farm)
Нового в этом ничего нет. Просто формализовали и автоматизировали уже существующие принципы построения фермы. Роль Пользовательский сервер (Custom) сделана для совместимости с SharePoint 2013. При миграции на новую версию платформы серверу будет присвоена данная роль.
Я покажу пример расчета количества серверов в ферме SharePoint при планировании топологии.
Основной трафик принимают на себя WFE-серверы (серверы с ролью Внешний интерфейс). С расчета необходимого их количества и начнем.
RPC
Первое что необходимо сделать при планировании топологии фермы - рассчитать кол-во запросов в секунду (RPC), генерируемых пользователями. Рассчитывается по формуле:
где:
- N – общее количество пользователей.
- C – процент пользователей, использующих портал в одно время.
- RPD – количество запросов одного пользователя в день.
- PU – коэффициент пиковой нагрузки.
- Seconds – количество секунд в рабочем дней.
Конкурирующие пользователи
Обычно статистика для "среднего" корпоративного портала по использованию портала выглядит следующим образом.
Примерно половина пользователей компании используют портал каждый день:
Конкурирующих пользователей для компании, работающей в одном часовом поясе, в среднем по времени (при рабочем дне с 9:00 до 18:00):
На пике редко когда доходит до 20%.
Количество запросов от одного пользователя в день
Этот показатель варьируется от 300 до 400. Берем по верхней планке, RPD = 400.
Пиковая нагрузка
Коэффициент пиковой нагрузки можно принять равным 2, что соответствует утверждению о том, что ферма SharePoint на пике может выдерживать до 40% от общего количества пользователей организации.
Кол-во секунд в рабочем дне
Если пользователи в одном часовом поясе и рабочий день длится 8 часов, то в секундах это 28800.
Таким образом количество запросов в секунду (RPC) в среднем можно рассчитать по формуле:
где N - общее кол-во пользователей в организации.
Переводим RPC в WFE
Согласно Estimate performance and capacity requirements for enterprise intranet collaboration environments (SharePoint Server 2013) необходимо включать WFE-сервер на каждые 40 запросов в секунду:
Что примерно соответствует утверждению:
Один WFE-сервер в ферме на каждые 6500 пользователей
Distributed Cache
Согласно приведенной выше статье выделение отдельного сервера для распределенного кэша необходимо при RPC выше 234. Другими словами в "средней" ферме:
Отдельный DC-сервер в ферме при количестве пользователей близком к 25000 и более
Search
Для расчета количества поисковых серверов в ферме пользуемся статьей Plan enterprise search architecture in SharePoint Server 2013, согласно которой в зависимости от количества элементов, подлежащих индексации, необходимо:
- 2 сервера до 10 млн.
- 6 серверов от 10 до 40 млн.
- 12 серверов от 40 до 100 млн.
В 80% случаев достаточно 2 поисковых серверов.
Два поисковых сервера в ферме при количестве индексируемых элементов до 10 миллионов.
Application
Обычная нагрузка согласно Capacity planning for SharePoint Server 2013 выглядит следующим образом:
Нагрузка, порождаемая службами SharePoint за исключением поиска равна нагрузке, порождаемой поисковой службой. Другими словами:
Количество Application-серверов в ферме должно быть равно количеству поисковых серверов.
Office Web Apps
В случае с OWA-серверами нагрузка может очень сильно варьироваться в зависимости от задач, решаемых пользователями. Поэтому читаем статью Plan Office Web Apps Server и принимаем следующее:
Минимум два сервера для Office Web Apps
Минимум два сервера необходимы для обеспечения отказоустойчивости и поддержании работоспособности во время обслуживания серверов.
Дополнительные серверы
В некоторых случаях может быть оправдано включение дополнительных серверов в ферму SharePoint.
Crawling
Поисковые серверы могут генерировать большое количество запросов к WFE-серверам фермы SharePoint и с целью минимизировать влияние краулера на производительность фермы можно включать дополнительные WFE-сервер для индексации, исключив обработку им пользовательских запросов (не включать его в доступный пользователям NLB-кластер).
Тестирование
Также можно поступить и в случае обеспечения prodlike среды для тестирования решений.