Важные необходимые сведения при обслуживании большого числа пользователей
Обратите внимание
Веб-сервер в среднем может обслуживать в пике от 100 до 1000 пользователей одновременно, в зависимости от того, насколько конфигурация всей инфраструктуры близка к рекомендуемой. При средней не пиковой производительности нужно рассчитывать на 500-800 одновременных подключений на одном сервере.
Так же рекомендуется для обслуживающих сервисов выделять отдельный сервер, на котором развертывать виртуальные машины для резервирования и отказоустойчивости.
Требования к производительности формируются исходя из функционала.
Ключевые обязательные компоненты:
- Сервер СУБД;
- Сервер Web-приложения;
- Сервер СУБД кэша;
- Сервер вспомогательных сервисов.
Функционал Web-сервера
Подготовка списков и справочных данных
Разбитие их на страницы для отображения, сортировки, фильтрации и групповой обработки. Без настройки используется работа с файлами на самом сервере ПК Бюджет-NEXT. В связи с большой нагрузкой на диск и на процессор при такой одновременной работе, без настройки системы возможна работа не более 5 пользователей.
До 500 пользователей рекомендуется использовать СУБД кэша списков (PostgreSQL), развернутую на отдельном сервере (виртуальной машине). При большом количестве (500+) пользователей рекомендуется развернуть еще СУБД сессионного кэша ( tarantool или redis).
Работа с оправдательными документами
Оправдательные документы - файлы, которые клиент закачивает на сервер и затем просматривает. Для этого используется отдельный сервис UploadService
. Так как он генерирует большое количество дисковых операций и занимает процессорное время на расчет контрольных сумм и проверку Электронной Подписи файлов, его также рекомендуется ставить на отдельный сервер (виртуальную машину). Характеристики виртуальной среды выбираются исходя из нагрузки. В среднем достаточно выделения 4 ядер и 8 ГБ памяти. Также там необходим Криптопровайдер (Крипто ПРО).
Работа с отчетными формами
Подготовка отчетных форм
Подготовка отчетных форм в различных форматах весьма процессороёмкая операция и в пиках активности может потреблять много ресурсов. Но так как это операция статистически редкая, часто по этому поводу никаких дополнительных настроек не производится. Но в высоконагруженных системах, под сервис формирования отчетных форм, также рекомендуется выделять отдельный сервер (виртуальную машину), чтобы данная функция не мешала основной оперативной активности (формирование документов, подписание, осуществление бизнес-процесса).
Остальные вспомогательные сервисы
Не генерирует серьезной нагрузки. Но их выделение в отдельные сервера позволяет:
1. Повысить устойчивость;
2. Наиболее полно использовать сервера.
Виртуализация
Для системы виртуализации рекомендуется использовать VMware ESX Server
или VMware ESXi
.
Лицензировать сервера Windows необходимо по схеме "Windows Server Datacenter". Веб-сервера также рекомендуется виртуализировать для обеспечения отказоустойчивости. Более того, рекомендуется на каждом физическом сервере делать несколько виртуальных, если уже есть, балансировщик и тогда в случае отказа одного из узлов, сервер в любом случае будет физически обслуживать клиентов.
Балансировщик нагрузки должен статически раскидывать клиентов (до отказа хоста) - клиенту назначается сервер на весь период работы клиента, до его отключения. Рекомендаций нет. Можно использовать как аппаратное решение, так и любое программное решение, в том числе и OpenSource.