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

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

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

начало внимание

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

конец внимание

Сервер ELMA365

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

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

Linux x64, рекомендуется Ubuntu Server 22.04 или Debian 11

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

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

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

 

Процессор: x86–64, 10 vCPU и выше

Жёсткий диск**: 100 ГБ, IOPS записи 2000 и выше

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

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

 

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

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

 

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

 

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

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

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

 

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

 

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

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

При использовании гипервизоров для корректной работы узлов Kubernetes и ELMA365 в настройках виртуальных машин требуется выделение фиксированного объёма оперативной памяти. Объём должен соответствовать системным требованиям, указанным выше.

Не рекомендуется использовать динамическое распределение памяти (Shared или «от X ГБ до Y ГБ»). Виртуальные машины с динамически выделяемой памятью работают медленнее, а гипервизор некорректно реагирует на требования ОС к памяти.

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

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

PostgreSQL

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

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

Сервер СУБД PostgreSQL

 

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

 

СУБД: PostgreSQL v11–15

Процессор: x86–64, 4 vCPU и выше

Жёсткий диск: 200 ГБ, IOPS записи 2000 и выше

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

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

 

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

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

 

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

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

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

 

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

MongoDB

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

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

Сервер СУБД MongoDB

 

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

 

СУБД: MongoDB v3.66.0

Процессор: x86–64, 4 vCPU и выше, MongoDB 5.0 требует использования набора инструкций AVX

Жёсткий диск: 200 ГБ, IOPS записи 2000 и выше

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

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

 

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

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

 

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

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

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

 

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

RabbitMQ

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

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

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

 

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

 

MQ: RabbitMQ v3.9.15 и выше

Процессор: x86–64, 4 vCPU и выше

Жёсткий диск: 40 ГБ, IOPS записи 2000 и выше

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

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

 

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

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

 

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

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

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

 

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

Redis

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

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

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

 

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

 

Cache: Redis v5.0 и v6.2

Процессор: x86–64, 2 vCPU и выше

Жёсткий диск: 40 ГБ, IOPS записи 2000 и выше

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

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

 

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

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

 

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

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

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

MinIO S3

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

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

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

 

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

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

 

S3: MinIO S3 v2022.8.8 и выше

Процессор: x86–64, 2 vCPU и выше

Жёсткий диск: 40 ГБ, IOPS записи 2000 и выше

Для обеспечения работы сервера MinIO требуется подключить в кластер несколько серверов или несколько дисков на один сервер. Подробнее смотрите в официальной документации.

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

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

 

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

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

 

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

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

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

 

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

 

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

Минимальные аппаратные требования для различного числа пользователей

В таблицах приведены аппаратные требования, необходимые для корректной работы системы ELMA365 On‑Premises Enterprise на 500, 1 000, 2 000, 5 000 и 10 000 пользователей. Под термином Пользователь понимается человек или внешняя автоматизированная система, которые имеют учётную запись и право работать с ELMA365.

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

500 пользователей

500 пользователей

Сервис

vCPU*

RAM, GB

SSD, GB**

Сервер ELMA365

8

16

100

Сервер PostgreSQL

4

8

100

Сервер MongoDB

4

8

50

Сервер RabbitMQ

4

8

40

Сервер Redis

2

4

50

Сервер MinIO S3

2

2

100

Сервер Haproxy

2

2

30

Итого

26

48

470

 

1 000 пользователей

1 000 пользователей

Сервис

vCPU*

RAM, GB

SSD, GB**

Сервер ELMA365

12

16

100

Сервер PostgreSQL

6

12

100

Сервер MongoDB

4

8

50

Сервер RabbitMQ

4

8

40

Сервер Redis

2

4

50

Сервер MinIO S3

2

2

100

Сервер Haproxy

2

2

30

Итого

32

52

470

 

2 000 пользователей

2 000 пользователей

Сервис

vCPU*

RAM, GB

SSD, GB**

Сервер ELMA365

16

24

100

Сервер PostgreSQL

8

16

100

Сервер MongoDB

6

8

50

Сервер RabbitMQ

4

8

40

Сервер Redis

2

8

50

Сервер Minio S3

2

4

100

Сервер Haproxy

2

2

30

Итого

40

70

470

 

5 000 пользователей

5 000 пользователей

Сервис

vCPU*

RAM, GB

SSD, GB**

Сервер ELMA365

16

32

100

Сервер PostgreSQL (мастер)

4

16

200

Сервер PostgreSQL (реплика)

4

16

200

Сервер PostgreSQL (реплика)

4

16

200

Сервер MongoDB (мастер)

2

8

100

Сервер MongoDB (реплика)

2

8

100

Сервер MongoDB (реплика)

2

8

100

Сервер RabbitMQ

4

8

40

Сервер Redis

2

8

50

Сервер MinIO S3

2

8

200

Сервер Haproxy

2

2

30

Итого

44

130

1320

 

10 000 пользователей

10 000 пользователей

Сервис

vCPU*

RAM, GB

SSD, GB**

Сервер ELMA365

32

64

100

Сервер PostgreSQL (мастер)

8

32

250

Сервер PostgreSQL (реплика)

8

32

250

Сервер PostgreSQL (реплика)

8

32

250

Сервер MongoDB (мастер)

2

8

200

Сервер MongoDB (реплика)

2

8

200

Сервер MongoDB (реплика)

2

8

200

Сервер RabbitMQ

4

8

40

Сервер Redis

2

8

50

Сервер MinIO S3

2

8

500

Сервер Haproxy

2

2

30

Итого

72

210

2070

*vCPU — это одно гиперпоточное ядро на физическом процессоре. Для облачных провайдеров соответствует одному vCPU или vCore.

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

При выходе обновлений системы ELMA365 On-Premises мы производим нагрузочное тестирование системы в условиях, максимально приближенных к реальным. Ознакомиться с результатами тестирования вы можете на портале ELMA365 Community, начиная с версии Релиз 2022.2.

Для расчета системных требований для вашей конфигурации, а также для получения информации по аппаратным требованиям для 10 000+ пользователей, обратитесь к менеджерам отдела продаж ELMA365: +7 (3412) 93‑66‑93inbox@elma365.com.

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

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

Кластер ELMA365

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

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

Кластер PostgreSQL

Сервера объединяются в кластер Master-Replica(s). Один сервер становится главным и отправляет свои данные на остальные сервера. Более подробно о настройке и особенностях работы кластера можно почитать в официальной документации PostgreSQL.

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

Кластер MongoDB

Несколько серверов прозрачно объединяются в отказоустойчивый кластер перераспределяя и дублируя данные между собой. Более подробно смотрите в официальной документации MongoDB.

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

Кластер RabbitMQ

Несколько серверов соединяются в кластер и распределяют между собой работу по обработке и доставке сообщений. Более подробно смотрите в официальной документации RabbitMQ.

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

Кластер Redis

Несколько серверов соединяются в кластер Master-Replicas. Один сервер становится главным и отправляет свои данные на остальные сервера. Более подробно смотрите в официальной документации Redis.

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

Кластер MinIO S3

Несколько серверов соединяются в отказоустойчивый кластер, перераспределяя и дублируя данные между собой. Более подробно смотрите в официальной документации MinIO.

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