Планирование ресурсов для ролей сервера Службы приложений в Azure Stack Hub

Чтобы настроить готовое для рабочей среды развертывание Службы приложений Azure в Azure Stack Hub, необходимо определить поддерживаемую системой емкость.

Эта статья содержит рекомендации по минимальному числу экземпляров и номеров SKU для вычислений, которое следует использовать для любого рабочего развертывания.

Примечание

В руководство по рекомендуемому для ролей номеру SKU для вычислений добавлены сведения о выпуске Службы приложений Azure в Azure Stack Hub за 2-й квартал 2020 г., чтобы привести стандартные развертывания в соответствие с развертываниями Azure.

Запланировать стратегию емкости службы приложений можно с помощью следующих правил.

Роль сервера службы приложений Минимальное рекомендуемое число экземпляров Рекомендуемый номер SKU для вычислений
Контроллер 2 A4v2
Внешний интерфейс 2 A4_v2
Управление 2 D3_v2
Издатель 2 A2_v2
Рабочие роли — общие 2 A4_v2
Рабочие роли, выделенные, небольшие 2 на уровень A1_v2
Рабочие роли, выделенные, средние 2 на уровень A2_v2
Рабочие роли, выделенные, крупные 2 на уровень A4_v2

Роль контроллера

Рекомендуемые минимальные ресурсы: Два экземпляра A4v2

Контроллер службы приложений Azure, как правило, характеризуется низким потреблением ресурсов ЦП, памяти и сетевых ресурсов. Но для обеспечения высокой доступности необходимо иметь два контроллера. Два контроллера — это также максимально разрешенное количество. Второй контроллер веб-сайтов можно создать непосредственно из установщика во время развертывания.

Роль внешнего интерфейса

Рекомендуемые минимальные ресурсы: Два экземпляра A4v_2

Внешний интерфейс направляет запросы к рабочим ролям в зависимости от их доступности. Для обеспечения высокой доступности следует иметь несколько внешних интерфейсов и можно иметь более двух. При планировании емкости допустим, что каждое ядро может обрабатывать приблизительно 100 запросов в секунду.

Роль управления

Рекомендуемые минимальные ресурсы: Два экземпляра D3v2

Роль классической модели развертывания приложения Azure отвечает за конечные точки API и Azure Resource Manager для Службы приложений, расширения портала (порталы администратора, клиента и Функций) и службу данных. Для роли сервера управления, как правило, требуется всего около 4 ГБ ОЗУ в рабочей среде. Тем не менее могут возникать высокие уровни использования ЦП при одновременном выполнении многих задач управления (например, создание веб-сайта). Для обеспечения высокой доступности этой роли необходимо назначить несколько серверов, а на каждом сервере должно быть как минимум два ядра.

Роль издателя

Рекомендуемые минимальные ресурсы: Два экземпляра A2v2

Если многие пользователи проводят публикацию одновременно, в роли издателя может возникать интенсивное использование ЦП. Для обеспечения высокой доступности должны быть доступны несколько ролей издателя. Издатель обрабатывает только трафик FTP и FTPS.

Рабочая роль

Рекомендуемые минимальные ресурсы: Два экземпляра A4_v2

Для обеспечения высокой доступности нужны по крайней мере четыре рабочие роли: две для общего режима веб-сайта и две для каждого предлагаемого уровня выделенной рабочей роли. Общий и выделенный режимы вычислений предоставляют клиентам различные уровни обслуживания. Возможно, понадобятся дополнительные рабочие роли, если многие клиенты:

  • используют уровни рабочих ролей выделенного режима вычислений (которые являются ресурсоемкими);
  • работают в общем режиме вычислений.

После того как пользователь создаст план службы приложений для номера SKU выделенного режима вычислений, число рабочих ролей, указанное в этом плане службы приложений, больше не будет доступно для пользователей.

Чтобы предоставить пользователям Функции Azure в модели плана потребления, необходимо развернуть общие рабочие роли.

При выборе количества общих рабочих ролей учтите следующие рекомендации:

  • Память. Это наиболее важный ресурс для рабочей роли. Недостаток памяти влияет на производительность веб-сайта, когда объем виртуальной памяти переносится с диска. Для каждого сервера требуется примерно 1,2 ГБ ОЗУ для операционной системы. Объем ОЗУ, превышающий это пороговое значение, можно использовать для запуска веб-сайтов.

  • Процент активных веб-сайтов. В среднем в развертывании Azure Stack Hub обычно активны около 5 % приложений Службы приложений Azure. При этом в определенный момент времени процент активных приложений может быть выше или ниже. Если активных приложений 5 %, максимальное число приложений, которое можно разместить в развертывании Службы приложений Azure в Azure Stack Hub, не должно превышать число активных веб-сайтов, умноженное на 20 (5 x 20 = 100).

  • Средний объем памяти. В рабочих средах средний объем памяти для приложений составляет примерно 70 МБ. Объем памяти, который нужно выделить для всех компьютеров или виртуальных машин с рабочими ролями, можно рассчитать по этому показателю следующим образом:

    Number of provisioned applications * 70 MB * 5% - (number of web worker roles * 1044 MB)

    Например, для 5000 приложений в среде, в которой выполняется 10 рабочих ролей, размер ОЗУ каждой виртуальной машины рабочей роли должен составлять 7060 МБ:

    5,000 * 70 * 0.05 - (10 * 1044) = 7060 (= about 7 GB)

    См. сведения о добавлении дополнительных экземпляров рабочих ролей.

Дополнительные рекомендации по выделенным рабочим ролям во время обновления и обслуживания

Во время обновления и обслуживания рабочих ролей Служба приложений Azure в Azure Stack Hub в любой момент может выполнить обслуживание 20 % каждого уровня рабочих ролей. Следовательно, администраторы облака должны поддерживать для каждого уровня рабочих ролей свободными 20 % пула рабочих ролей, чтобы у клиентов не возникали проблемы со службой во время обновления и обслуживания. Например, при наличии 10 рабочих ролей одного уровня для выполнения обновления и обслуживания следует убедиться, что две из них не выделены. Если все 10 рабочих ролей выделены, необходимо масштабировать уровень рабочих ролей, чтобы создать пул свободных рабочих ролей.

Во время обновления и обслуживания Служба приложений Azure переместит рабочие нагрузки в свободные рабочие роли, обеспечивая их выполнение. При этом нехватка свободных рабочих ролей во время обновления может привести к простою рабочей нагрузки клиента. Что касается общих рабочих ролей, клиентам не нужно подготавливать дополнительные рабочие роли, так как служба автоматически выделит приложения клиента в доступных рабочих ролях. Для обеспечения высокого уровня доступности на этом уровне должно быть не менее двух рабочих ролей.

Администраторы облака могут отслеживать выделение на уровне рабочих ролей в области администрирования Службы приложений на портале администратора Azure Stack Hub. Перейдите к Службе приложений, а затем выберите "Рабочие уровни" на панели слева. В таблице "Рабочие уровни" указаны: название и размер уровня рабочих ролей, используемый образ, количество доступных рабочих ролей (нераспределенных), общее число рабочих ролей на каждом уровне и общее состояние уровня рабочих ролей.

Администрирование Службы приложений —

Роль файлового сервера

Для роли файлового сервера можно использовать автономный файловый сервер для разработки и тестирования. Например, при развертывании Службы приложений Azure с помощью Пакета средств разработки Azure Stack (ASDK) можно использовать этот шаблон. В рабочей среде следует использовать предварительно настроенный файловый сервер Windows или предварительно настроенный файловый сервер не под управлением Windows.

В рабочих средах роль файлового сервера проводит большое количество дисковых операций ввода-вывода. Так как здесь размещается все содержимое с файлами приложений для веб-сайтов пользователей, для этой роли необходимо предварительно настроить один из следующих ресурсов:

  • файловый сервер Windows;
  • кластер файлового сервера Windows;
  • файловый сервер не под управлением Windows;
  • кластер файлового сервера не под управлением Windows;
  • запоминающее устройство, подключаемое к сети.

Дополнительные сведения см. в статье о подготовке файлового сервера.

Дальнейшие действия

Предварительные требования для развертывания Службы приложений в Azure Stack Hub