Skip to content

Рекомендуемая среда и конфигурация для развертывания проекта

1. Обзор

Чтобы удовлетворить потребности предприятий в высокой доступности и высоком параллелизме, FanSoft поддерживает как автономное, так и кластерное развертывание.

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

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

Описание программы развертывания:

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

  • Автономная архитектура SoftSoft - это "инженерный узел + библиотека конфигураций (внешняя finedb)".

  • Архитектура кластера прямого подключения/извлечения SailSoft представляет собой "инженерные узлы + балансировка нагрузки + серверы состояния + файловые серверы + библиотеки конфигурации (внешняя finedb)", и каждый компонент архитектуры необходимо выбирать и подбирать для различных сценариев.

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

2) Учитывая ограниченные ресурсы сервера некоторых пользователей.

  • Для сценариев развертывания инженерных узлов в этом документе приведены рекомендуемые и минимальные требования к конфигурации, соответственно. Если ресурсов достаточно, используется рекомендуемая конфигурация; если ресурсы ограничены, должна быть выполнена хотя бы минимальная конфигурация.
  • Для сценариев развертывания кластера в данной статье представлены сценарии развертывания с высокой и не высокой доступностью. Если ресурсов достаточно, рекомендуется использовать схему развертывания с высокой доступностью; если ресурсы ограничены, можно рассмотреть схему развертывания без высокой доступности.

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

Описание производительности системы:

1) Количество инженерных узлов:

  • В кластерном сценарии с увеличением числа узлов увеличивается и количество одновременных операций, которые может обрабатывать система, а среднее время отклика шаблонов остается неизменным.
  • Кластер из двух узлов имеет вдвое больший параллелизм, чем одна машина, а кластер из трех узлов - в три раза больший параллелизм, чем одна машина.

2) Производительность опалубки:

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

2. инженерное серверное окружение

2.1 Общие требования к серверу

Вы можете использовать инструмент Cluster Environment Checker, чтобы проверить, соответствует ли системная среда требованиям к развертыванию.

элемент конфигурацииРекомендуемые конфигурации
Тип сервераСервер Linux
версия системыUbuntu 18.04.4 и выше
ядро системы3.10 и выше
архитектура системыX86_64
Свободное дисковое пространствоУстановите объем доступного дискового пространства на сервере, где расположен каждый узел, в соответствии с объемом данных.В корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.Объем данных от 0 до 5 миллионов строк, доступное дисковое управление
промежуточное ПОTomcat 8.5.57 и выше, рекомендуется последняя версия.JDK 1.8, 8u221 или выше, рекомендуется последняя версия.
Тип дискаТвердотельный накопитель SSDFineBI - приложение с интенсивным потоком ввода-вывода и большой зависимостью от дискового ввода-вывода, поэтому рекомендуется использовать локальные диски или твердотельные накопители.
Скорость чтения/записи дисков100 м/с или более
Пропускная способность IOPS10 тысяч или более

2.2 Требования к конфигурации для различного количества узлов

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

Описание размеров пользователя:

Тип пользователяинструкции
Количество ежедневных пользователейКоличество пользователей, вошедших в систему FineBI Engineering за один день
Количество онлайн-пользователейКоличество пользователей, одновременно вошедших в проект FineBI
Количество одновременных пользователейКоличество пользователей, одновременно выполняющих операции над проектом FineBIТо есть, сколько пользователей одновременно отправляют запросы на сервер, то есть, сколько запросов, отправленных пользователями, обрабатывается сервером в одно и то же время.
Ограничение параллельности при регистрации лицензийСтатистика на основе IP-адреса, сервер получает IP-адрес из запроса в качестве параллельного ключаЭтот параметр Lic не связан с количеством пользователей, указанных ниже.

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

Пользователям необходимо обратиться к разделу " Введение прямых и извлеченных данных ", чтобы понять, используют ли они "данные в реальном времени" или "извлеченные данные".

2.2.1 Данные прямого подключения

Описание сценария: используйте только непосредственно подключенные данные, а не извлеченные.

Пропускная способность между узлами кластера и между узлами и другими компонентами 1000 Мбит/с.

В зависимости от параллельности проекта и вычислительной мощности БД источника данных выбирайте более высокую конфигурацию, если она попадает в несколько диапазонов конфигураций;

Edit Concurrent Correspondence Cache Not Hit;

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

Количество ежедневных пользователейКоличество онлайн-пользователейпочасоваяКоличество одновременных пользователейкаждая секундакомпиляторпараллелизмВычислительная мощность источника данныхКоличество вычислений, обрабатываемых в секундуРекомендуемые конфигурацииминимальная конфигурация
500<100<20<20<10Автономный, узлы встречаются: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 24 ГбАвтономный, узел удовлетворен:Процессор: 4 ядра 8 потоков 2,5 ГГцПамять JVM: 8 ГБФизическая память: 12 Гб
2K100~1K40~9010~4010~20Кластер из 2 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 ГбАвтономный, узел удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 Гб
3K600~1.5K60~13030~60≥30Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 ГбКластер из 2 узлов, каждый узел встречается: CPU: 16 ядер, 32 потока, 2.5GHZ. Память JVM: 24 ГБ Физическая память: 48 Гб
4K600~2K60~17060~80≥30Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 24 ГбТрехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб

2.2.2 Извлеченные данные: анализ самопомощи при высокой повседневной активности

Описание сценария: проект FineBI с большим количеством ежедневных пользователей, Self-service пользователей при анализе данных (соответствующий запрос FineBI не попадает в кэш).

Суммарное количество узлов оценивает параллелизм: количество онлайн-пользователей Y = 300 * (количество узлов X-1) + 400.

Требования к пропускной способности и пропускной способности диска превышают 100 МБ/с (обычная производительность локального жесткого диска HDD), рекомендуется использовать твердотельные накопители SSD.

Память JVM ≠ вся память машины, рекомендуется, чтобы память JVM занимала 2/3 ~ 3/4 всей памяти машины.

Количество онлайн-пользователейпочасоваяКоличество одновременных пользователейкаждая секундакомпиляторпараллелизмКоличество столов/размер столаРекомендуемые конфигурацииминимальная конфигурация
<100<20<20<100 листов/<1TАвтономный, узлы встречаются: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 32 ГбАвтономный, узел удовлетворен:Процессор: 8 ядер, 16 потоков, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 Гб
300~1K20~7010~40<100 листов/<1TДвухузловой кластер, каждый узел которого удовлетворен:Процессор: 8 ядер, 16 потоков, 2,5 ГГц.Память JVM: 16 ГБФизическая память: 32 ГбАвтономный, узел удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб
600~2K40~12030~60>2k листов/>1TДвухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбДвухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб
900~3K50~16050~80>4k листов/>2TТрехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбДвухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб
1.2K~3.5K60~19070~100>5 тыс. листов/>3TКластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбТрехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб
1.5K~4K80~22080~200>5 тыс. листов/>3TКластер из 5 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбКластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб

2.2.3 Извлечение данных: панели одновременного просмотра

Сценарий: соответствует таким сценариям, как одновременный просмотр отчетов пользователями. То есть суммарное количество пользователей, обращающихся к Y, обычно составляет 5-10 минут (что соответствует полному попаданию в кэш запросов FineBI, то есть несколько одинаковых вычислительных запросов могут напрямую попасть в результаты возврата).

Суммарное количество узлов для оценки параллелизма: 5 минут одновременных пользователей Y = 380*количество узлов X

Когда количество запрашивающих пользователей в секунду достигает 160, скорость загрузки сервера балансировки нагрузки должна быть высокой и достигать 100 МБ/с.

Память JVM ≠ вся память машины, рекомендуется, чтобы память JVM занимала 2/3 ~ 3/4 всей памяти машины.

количество пользователейКаждые 5 минутколичество пользователейкаждая секундаРекомендуемые конфигурацииминимальная конфигурация
~400402-узловой кластер, каждый узел встречается: CPU: 8 ядер 16 потоков 2.5GHZ Память JVM: 16 ГБ Физическая память: 32 ГбСамостоятельный, не требующий особого внимания:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб
400~80080Двухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбДвухузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб
800~1.1K110Трехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбТрехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 24 ГБФизическая память: 48 Гб
1.1K~1.6K160Кластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбТрехузловой кластер, каждый узел которого удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб
1.6K~2K190Кластер из 5 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 ГбКластер из 4 узлов, каждый из которых удовлетворен:Процессор: 16 ядер, 32 потока, 2,5 ГГц.Память JVM: 32 ГБФизическая память: 64 Гб

3. другие серверные среды компонентов

3.1 Автономный

Применяемые объекты:

отдельный проект

  • Сервер приложений: 1 узел
  • База данных конфигурации finedb: MySQL5

Параметры конфигурации:

Автономная архитектура SoftSoft - это "инженерный узел + библиотека конфигураций (внешняя finedb)".

В этом разделе описана только рекомендуемая конфигурация для других компонентов автономной машины. Требования к конфигурации сервера FineBI Engineering Node Server см. в главе 2.

элемент конфигурацииРекомендуемые конфигурации
Настройка сервера базы данных (finedb)
Количество серверов1Если есть возможность, рекомендуется развернуть компоненты внешней библиотеки конфигурации на отдельном сервере.Если этих условий недостаточно, компоненты внешней библиотеки конфигурации могут быть развернуты на том же сервере, что и проект FineBI.Но, как минимум, убедитесь, что сервер предназначен исключительно для инженерных работ и баз данных FineBI и что на нем не развернуты другие приложения.
операционная системаСервер Linux Версия системы: Ubuntu 18.04.4 и выше Ядро системы: 3.10 и выше Архитектура системы: X86_64
требование к сети1) Библиотеку конфигурации и инженерные приложения рекомендуется располагать в одном сегменте сети, чтобы избежать колебаний сети и других проблем. (2) Библиотека конфигурации и прикладная инженерия в среде публичной сети, пропускная способность должна быть более 10M (3) Библиотека конфигурации и прикладная инженерия должны быть гладкой сети между друг другом порт может быть доступен
Количество баз данных1
Тип базы данныхБаза данных MySQL8Версия базы данных: MySQL 8.0.20 или вышеДрайвер базы данных: версия 5.1.49 (совместим с MySQL версий 5 и 8)Набор символов базы данных: utf8Правила сортировки базы данных: utf8_binИмя базы данных: допускаются только цифры, буквы, знаки подчеркивания и ".".Привилегии базы данных: создание, удаление, изменение, обновление, выбор, вставка, индекс
CPU2,5 ГГц или выше 8 ядер и 16 потоков
физическая память8g
Свободное дисковое пространство200 Гб или более
скорость сети100 Мбит/с
Скорость чтения/записи дисков100 МБ/с

3.2 Стандартные прямые соединения/стандартные кластеры извлечения

Применяемые объекты:

Стандартный кластер прямого подключения/стандартный экстракционный кластер

  • Серверы приложений: не менее 2 узлов
  • Сервер состояния: автономный Redis
  • Файловый сервер: SFTP
  • Балансировка нагрузки: Nginx
  • База данных конфигурации: MySQL

Параметры конфигурации:

Кластерная архитектура FanSoft - это "инженерный узел + балансировка нагрузки + сервер состояния + файловый сервер + библиотека конфигурации (внешняя finedb)".

В этом разделе описана только рекомендуемая конфигурация остальных компонентов кластера. Требования к конфигурации серверов инженерных узлов FineBI см. в главе 2.

элемент конфигурацииРекомендуемые конфигурации
Общие требованияВ этом разделе перечислены требования, которые должны быть выполнены для каждого типа компонентов кластера.
Количество серверовПо возможности рекомендуется развертывать балансировку нагрузки, серверы состояния, файловые серверы и компоненты внешней библиотеки конфигурации на отдельных серверах.Если нет, то, как минимум, убедитесь, что компоненты развернуты на отдельном сервере и что они предназначены только для этого сервера и не развернуты на том же сервере, что и проект FineBI.
операционная системаСервер Linux Версия системы: Ubuntu 18.04.4 и выше Ядро системы: 3.10 и выше Архитектура системы: X86_64 Вы можете использовать инструмент Cluster Environment Checker, чтобы проверить, соответствует ли ваша системная среда требованиям для развертывания кластера.
Компилятор GCCПри развертывании Redis и Nginx на системах Linux используется компилятор GCC.Убедитесь, что в вашей системе есть среда компиляции GCCКоманда запроса: gcc -vКоманда установки: yum install gcc gcc-c++
сетевые требования(1) Каждый компонент и прикладная инженерия должны находиться в одном сегменте сети, чтобы избежать колебаний сети и других проблем(2) Для каждого компонента и приложения в общедоступной сетевой среде пропускная способность должна быть более 10M(3) Компоненты и прикладная техника должны быть объединены в сеть и доступны через порты друг друга.
полноправный сервер
Количество серверов1
Программа развертыванияredis standalone
JVM/физическая память4 г/8 г
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.
файловый сервер
Количество серверов1
Программа развертыванияSFTP
физическая память8G
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство500G~1TВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.Пожалуйста, расширьте список, чтобы использовать его в будущем
предостережениеLinux-системам необходимо использовать старшего пользователя (root) при установке FTP, иначе она не может быть выполнена, если вы не устанавливаете FTP, то пренебрегайте этим требованием
балансировка нагрузки
Количество серверов1
Программа развертыванияNginxРекомендуется версия 1.21 и выше, причем приоритет отдается последней версии.
физическая память8G
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.
Настройка сервера базы данных (finedb)
Количество серверов1
Тип базы данныхБаза данных MySQL8Версия базы данных: MySQL 8.0.20 или вышеДрайвер базы данных: версия 5.1.49 (совместим с MySQL версий 5 и 8)Набор символов базы данных: utf8Правила сортировки базы данных: utf8_binИмя базы данных: допускаются только цифры, буквы, знаки подчеркивания и ".".Привилегии базы данных: создание, удаление, изменение, обновление, выбор, вставка, индекс
CPU2,5 ГГц или выше 8 ядер и 16 потоков
физическая память8g
Свободное дисковое пространство200 Гб или более
скорость сети100 Мбит/с
Скорость чтения/записи дисков100 МБ/с

3.3 Высокодоступные кластеры для добычи

Применяемые объекты:

Высокодоступные кластеры для добычи

  • Серверы приложений: не менее 2 узлов
  • Государственные серверы: кластер Redis, 3 ведущих и 3 ведомых.
  • Файловый сервер: NAS
  • Балансировка нагрузки: Nginx+Keepalived
  • База данных конфигурации: PostgreSQL

Параметры конфигурации:

Кластерная архитектура FanSoft - это "инженерный узел + балансировка нагрузки + сервер состояния + файловый сервер + библиотека конфигурации (внешняя finedb)".

В этом разделе описана только рекомендуемая конфигурация остальных компонентов кластера. Требования к конфигурации серверов инженерных узлов FineBI см. в главе 2.

элемент конфигурацииРекомендуемые конфигурации
Общие требованияВ этом разделе перечислены требования, которые должны быть выполнены для каждого типа компонентов кластера.
Количество серверовПо возможности рекомендуется развертывать балансировку нагрузки, серверы состояния, файловые серверы и компоненты внешней библиотеки конфигурации на отдельных серверах.Если нет, то, как минимум, убедитесь, что компоненты развернуты на отдельном сервере и что они предназначены только для этого сервера и не развернуты на том же сервере, что и проект FineBI.
операционная системаСервер LinuxВерсия системы: Ubuntu 18.04.4 и вышеЯдро системы: 3.10 и вышеАрхитектура системы: X86_64Вы можете использовать инструмент Cluster Environment Checker, чтобы проверить, соответствует ли системная среда требованиям для развертывания кластера.
Компилятор GCCПри развертывании Redis и Nginx на системах Linux используется компилятор GCC.Убедитесь, что в вашей системе есть среда компиляции GCCКоманда запроса: gcc -vКоманда установки: yum install gcc gcc-c++
требование к сети(1) Каждый компонент и прикладная техника должны находиться в одном сегменте сети, чтобы избежать сетевых колебаний и других проблем.(2) Для каждого компонента и приложения в общедоступной сетевой среде пропускная способность должна быть более 10M(3) Компоненты и прикладная техника должны быть объединены в сеть и доступны через порты друг друга.
полноправный сервер
Количество серверовКластер redis с тремя ведущими и тремя ведомымиЕсли есть возможность, подготовьте 6 серверов и разверните по одному узлу на каждом сервере.Если условия недостаточны, подготовьте 3 сервера и разверните на каждом из них ведущий и ведомый узлы.
JVM/физическая память4 г/8 г
CPU2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.
файловый сервер
Количество серверов1
Программа развертыванияNAS
физическая память8G
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство500G~1TВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.Пожалуйста, расширьте список, чтобы использовать его в будущем
балансировка нагрузки
Количество серверов2
Программа развертыванияKeepalived+NginxРекомендуемая версия Nginx - 1.21 и выше, приоритетно использовать последнюю версию
физическая память8G
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
Свободное дисковое пространство100 Гбит/с или болееВ корневом каталоге должно быть не менее 40 Гб свободного дискового пространства.
Настройка сервера базы данных (finedb)
Количество серверов2
Тип базы данныхБаза данных с высокой степенью доступности, режим master/standby Привилегии базы данных: создание, удаление, изменение, обновление, выбор, вставка, индекс
ПРОЦЕССОР2,5 ГГц или выше 8 ядер и 16 потоков
физическая память8g
Свободное дисковое пространство200 Гб или более
скорость сети100 Мбит/с
Скорость чтения/записи дисков100 МБ/с