Практические примеры развертывания (Windows)

Для лучшей производительности рекомендуем использовать Microsoft SQL Server в качестве базы данных ESET Remote Administrator. Хотя продукт ESET Remote Administrator совместим с MySQL, использование MySQL может негативно отразиться на производительности системы во время работы с большими объемами данных, в том числе с панелями мониторинга, угрозами и клиентами. То же самое оборудование с Microsoft SQL Server способно обрабатывать в 10 раз больше клиентов, чем с MySQL.

В целях тестирования каждый клиент хранит около 30 журналов в базе данных. Microsoft SQL Server использует большие объемы оперативной памяти для кэширования данных базы данных. Поэтому рекомендуется иметь столько памяти, сколько у Microsoft SQL Server на диске.

Не существует простого способа вычислить точное количество ресурсов, используемых ESET Remote Administrator, поскольку используемые ресурсы зависят от конфигурации сети. Ниже приведены результаты тестирования распространенных конфигураций сети.

Тестовый случай — максимум 5000 клиентов, подключенных к ERA Server

Тестовый случай — максимум 100 000 клиентов, подключенных к ERA Server

Чтобы добиться оптимальной конфигурации для конкретных потребностей, рекомендуем провести тестирование на меньшем количестве клиентов и более медленном оборудовании, а затем проектировать системные требования, учитывая результаты тестирования.

ТЕСТОВЫЙ СЛУЧАЙ (5000 КЛИЕНТОВ)

Оборудование/программное обеспечение

Windows Server 2003 R2, архитектура на основе процессоров x86

Microsoft SQL Server Express 2008 R2

Intel Core2Duo E8400, частота 3 ГГц

3 ГБ оперативной памяти

Seagate Barracuda 7200 об/мин, 500 ГБ, 16 МБ кэширования, Sata 3 ГБ/с

Результаты

Веб-консоль ERA реагирует очень быстро (время реакции — менее 5 с).

Среднее потребление памяти:

oApache Tomcat — 200 МБ

oERA Server — 200 МБ

oБаза данных SQL Server — 2 ГБ

Производительность репликации сервера — 10 репликаций в секунду

Размер базы данных на диске — 2 ГБ (5000 клиентов, каждый из которых хранит 30 журналов в базе данных)

Например, использовалась база данных SQL Server Express 2008 R2. Несмотря на ограничения (база данных 10 ГБ, использование одного процессора и 1 ГБ оперативной памяти), эта конфигурация была функциональной и хорошо зарекомендовала себя. Использование СУБД SQL Server Express рекомендуется для серверов с менее 5000 клиентов. Вы можете сначала развернуть СУБД SQL Server Express и обновить ее до Microsoft SQL Server (полная версия), когда понадобится база данных большего размера. Обратите внимание, что в более старых версиях Express (<2008 R2) размер базы данных ограничен до 4 ГБ.

Производительность репликации серверов определяет интервал репликации для клиентов. 10 репликаций в секунду означают 600 репликаций в минуту. В идеальном случае на всех 5000 клиентов должен быть установлен 8-минутный интервал репликации. Однако это может создать 100-процентную нагрузку на сервер, поэтому в этом случае требуется больший интервал. В этом примере рекомендуется интервал репликации 20–30 минут.

ТЕСТОВЫЙ СЛУЧАЙ (100 000 КЛИЕНТОВ)

Оборудование/программное обеспечение

Windows Server 2012 R2 Datacenter, архитектура на основе процессоров x64

Microsoft SQL Server 2012

Intel Xeon E5-2650v2, частота 2,6 ГГц

64 ГБ оперативной памяти

Сетевая карта Intel NIC/PRO/1000 PT Dual

Диски 2x Micron RealSSD C400 256GB SSD (первый — для системы и программного обеспечения, второй — для файлов данных SQL Server)

Результаты

Веб-консоль очень быстро реагирует (время реакции — менее 30 с)

Среднее потребление памяти

oApache Tomcat — 1 ГБ

oERA Server — 2 ГБ

oБаза данных SQL Server — 10 ГБ

Производительность репликации сервера — 80 репликаций в секунду

Размер базы данных на диске — 10 ГБ (100 000 клиентов, каждый из которых хранит 30 журналов в базе данных)

В этом случае мы устанавливаем компоненты Apache Tomcat и веб-консоль ERA вместе с сервером ERA Server на один компьютер, а SQL Server на другой, чтобы проверить производительность ERA Server.

Большое количество клиентов привело к большему потреблению памяти и дискового пространства Microsoft SQL Server. Для оптимальной производительности база данных SQL Server кэшируется почти полностью из базы данных, хранящейся в памяти. Apache Tomcat (веб-консоль) и ERA Server также кэшируют данные. Это объясняет возросшее потребление памяти в данном примере.

Сервер ERA Server может обслуживать 80 репликаций в секунду (288 000 в час). Таким образом, в идеальном случае для всех 100 000 клиентов нужно установить примерно 30-минутный интервал репликации (нагрузка 200 000 репликаций в час). Однако это может привести к 100-процентной нагрузке на сервер. Поэтому лучше всего использовать интервал репликации 1 час (100 000 репликаций в час).

Использование сетевых данных зависит от количества журналов, собранных клиентами. В данном тесте это число составляет примерно 20 КБ на репликацию, так что 80 репликаций в секунду дают скорость сети 1600 КБ/с (20 Мбит/с).

В этом примере использован сценарий единого сервера. Нагрузка на процессор и сеть будет лучше распределяться при использовании нескольких прокси-серверов ERA (чем больше, тем лучше). В этом случае при обслуживании клиентов репликации будет распределяться и нагрузка на процессор, и нагрузка на сеть. Распределение нагрузки на сеть — это хорошая практика, особенно для клиентов в отдаленных расположениях. Интервал репликации прокси-сервера на сервер можно установить на нерабочее время, когда скорость сети из дальних расположений выше.