Архитектура и системные требования / Системные требования ELMA365 Enterprise

Системные требования ELMA365 Enterprise

В статье приводятся минимальные системные требования для корректной работы ELMA365 Enterprise On-Premises. Информация в статье не является руководством по конфигурированию серверов, а служит для приблизительной оценки совместимости оборудования компании и ПП ELMA365. Фактические параметры могут сильно варьироваться в зависимости от профиля нагрузки и выбираются согласно требованиям заказчика.  

Сервер ELMA365

В таблице указаны требования к программному и аппаратному обеспечению для установки сервера системы ELMA365.

Операционная система

Ubuntu Server 20.04 LTS

Компоненты ОС

Snapd (включен в состав ОС)

Дополнительное ПО

Microk8s v1.19, с поддержкой функции High Availability

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер приложения

 

Процессор: 8 ядер, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск: 100 ГБ (приложение + ОС, RAID, SSD)

Оперативная память: 16 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки и количества пользователей:

  • Производится увеличение количества процессоров (ядер).
  • Производится увеличение количества оперативной памяти.
  • Производится масштабирование с установкой дополнительных серверов.

 

Один физический сервер приложения способен выдерживать нагрузку до 10000 пользователей (при соразмерном увеличении количества ядер и памяти). Однако, не рекомендуется доводить до такой нагрузки. Стоит рассматривать это число, скорее, как максимальную стрессовую нагрузку при планировании локальной инфраструктуры.

 

Оптимальный вариант наращивания мощностей на сервере при средней нагрузке:

ОЗУ: +8 ГБ для 500 пользователей

CPU: +4 ядра для 500 пользователей

 

Количество конкурирующих пользователей оценивается заказчиком или путем анализа деятельности компании.

 

*Система резервного копирования должна располагаться на независимом сервере, объем доступной памяти на дисках должен соответствовать частоте резервного копирования.

Сервер данных

В таблице указаны требования к программному и аппаратному обеспечению для установки серверов хранения и обработки данных системы ELMA365.

PostgreSQL

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер СУБД PostgreSQL

 

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

 

СУБД: PostgreSQL v10.14

Операционная система: Ubuntu Server 20.04 LTS

 

Процессор: 4 ядра, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск:

  • 40 ГБ (ОС + сервер PostgreSQL, RAID, SSD)
  • 200 ГБ (для Данных, RAID 5, SSD)

Оперативная память: 8 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки и количества пользователей:

  • Производится увеличение количества процессоров (ядер).
  • Производится увеличение количества оперативной памяти.
  • Производится увеличение дискового пространства для хранения данных.

 

Оптимальный вариант наращивания мощностей на сервере при средней нагрузке:

ОЗУ: +4 ГБ для 500 пользователей

CPU: +2 ядра для 500 пользователей

 

Наращивание дискового хранилища оценивается заказчиком самостоятельно или по результатам анализа деятельности компании.

MongoDB

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер СУБД MongoDB

 

Хранит неструктурированные системные настройки, данные чатов и ленты.

 

СУБД: MongoDB v3.6

Операционная система: Ubuntu Server 20.04 LTS

 

Процессор: 4 ядра, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск:

  • 40 ГБ (ОС + сервер MongoDB, RAID, SSD)
  • 200 ГБ (для Данных, RAID 5, SSD)

Оперативная память: 8 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки и количества пользователей:

  • Производится увеличение количества процессоров (ядер).
  • Производится увеличение количества оперативной памяти.
  • Производится увеличение дискового пространства для хранения данных.

 

Оптимальный вариант наращивания мощностей на сервере при средней нагрузке:

ОЗУ: +4 ГБ для 500 пользователей

CPU: +2 ядра для 500 пользователей

 

Наращивание дискового хранилища оценивается заказчиком самостоятельно или по результатам анализа деятельности компании.

RabbitMQ

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер шины событий RabbitMQ

 

Используется для формирования очередей задач между сервисами, не хранит данные долговременно.

 

MQ: RabbitMQ v3.8

Операционная система: Ubuntu Server 20.04 LTS

 

Процессор: 4 ядра, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск: 40 ГБ (ОС + сервер RabbitMQ, RAID, SSD)

Оперативная память: 8 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки и количества пользователей:

  • Производится увеличение количества процессоров (ядер).
  • Производится увеличение количества оперативной памяти.

 

Оптимальный вариант наращивания мощностей на сервере при средней нагрузке:

ОЗУ: +4 ГБ для 500 пользователей

CPU: +2 ядра для 500 пользователей

 

Наращивание дискового хранилища оценивается заказчиком самостоятельно или по результатам анализа деятельности компании.

Redis

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер кэширования данных Redis

 

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

 

Cache: Redis v6.0 и выше

Операционная система: Ubuntu Server 20.04 LTS

 

Процессор: 2 ядра, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск: 40 ГБ (ОС + сервер Redis, RAID, SSD)

Оперативная память: 4 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки и количества пользователей:

  • Производится увеличение количества процессоров (ядер).
  • Производится увеличение количества оперативной памяти.

 

Оптимальный вариант наращивания мощностей на сервере при средней нагрузке:

ОЗУ: +4 ГБ для 500 пользователей

CPU: +2 ядра для 500 пользователей.

Minio S3

Минимальные аппаратные требования

*(в расчете на 500 пользователей)

Сервер хранилища данных Minio S3

 

Подходит любое аппаратное или программное S3 совместимое хранилище данных.

Мы рекомендуем использовать Minio, как наиболее простое в установке и поддержке.

https://docs.min.io/docs/minio-quickstart-guide.html

 

S3: Minio S3 v2019.09.05

Операционная система: Ubuntu Server 20.04 LTS

 

Процессор: 2 ядра, тактовая частота 2.2 ГГц и выше (рекомендуется Intel Xeon).

Жесткий диск: 40 ГБ (ОС + сервер Minio, RAID, SSD)

 

Для обеспечения работы сервера Minio требуется подключить в кластер несколько серверов или несколько дисков на один сервер. Подробнее смотрите в официальной документации. https://docs.min.io/docs/minio-server-limits-per-tenant.html

 

Оперативная память: 2 ГБ

Сетевое подключение: LAN 1 Гбит/сек и выше

 

При увеличении нагрузки на операции скачивания и генерацию файлов:

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

 

При увеличенной нагрузке на операции скачивания и генерацию файлов:

ОЗУ: +2 ГБ для 1000 пользователей

CPU: +1 ядро для 1000 пользователей

 

Наращивание дискового хранилища оценивается заказчиком самостоятельно или по результатам анализа деятельности компании.

 

 

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

Отказоустойчивая архитектура серверов

Для построения отказоустойчивой архитектуры и оптимизации распределения нагрузки на сервера системы, существует возможность реализовать кластер из нескольких серверов. Сервер приложений и сервера хранения и обработки данных масштабируются независимо. Для определения необходимости реализации, а также в процессе настройки отказоустойчивого кластера, мы рекомендуем привлекать специалистов ELMA для консультаций, т.к. возможны различные варианты и комбинации настроек для различных задач.

Кластер ELMA365

Несколько серверов в кластере распределяют между собой нагрузку на приложение и позволяют дублировать и масштабировать внутренние сервисы. Таким образом достигается отказоустойчивое решение, способное выдержать падение одного сервера. Прозрачное взаимодействие между серверами достигается применением готового решения https://microk8s.io

Минимальное количество серверов для организации кластера: 3 сервера.

Кластер PostgreSQL

Сервера объединяются в кластер Master-Replica(s). Один сервер становится главным и отправляет свои данные на остальные сервера. Более подробно о настройке и особенностях работы кластера можно почитать в официальной документации https://www.postgresql.org/docs/10/high-availability.html

Минимальное количество серверов для организации кластера: 2 сервера.

Кластер MongoDB

Несколько серверов прозрачно объединяются в отказоустойчивый кластер перераспределяя и дублируя данные между собой. Более подробно смотрите в официальной документации https://docs.mongodb.com/v3.6/reference/glossary/#term-high-availability

Минимальное количество серверов для организации кластера: 3 сервера.

Кластер RabbitMQ

Несколько серверов соединяются в кластер и распределяют между собой работу по обработке и доставке сообщений. Более подробно смотрите в официальной документации https://www.rabbitmq.com/clustering.html

Минимальное количество серверов для организации кластера: 3 сервера.

Кластер Redis

Несколько серверов соединяются в кластер Master-Replicas. Один сервер становится главным и отправляет свои данные на остальные сервера. Более подробно смотрите в официальной документации https://redis.io/topics/sentinel

Минимальное количество серверов для организации кластера: 3 сервера.

Кластер Minio S3

Несколько серверов соединяются в отказоустойчивый кластер перераспределяя и дублируя данные между собой. Более подробно смотрите в официальной документации https://docs.min.io/docs/distributed-minio-quickstart-guide.html

Минимальное количество серверов для организации кластера: 2 сервера.

Нашли опечатку? Выделите текст, нажмите ctrl + enter и оповестите нас