Сайзинг и оптимизация производительности Fine BI
Сайзинг
По умолчанию в FineBI нет ограничений на обрабатываемые объемы данных, но есть нюансы.
Например, на одной ноде может находится до 5 тысяч конкурентных пользователей единовременно. При большем количестве пользователей нужно распределять архитектуру сервера на дополнительные ноды с распределением нагрузки. Т.е. одна нода может отвечать за отрисовку пользовательских дашбордов и работу системы, а другая за обновление данных в режиме Spider.
Из общих подходов по сайзингу можно привести базовую таблицу, c рекомендуемой вендором конфигурацией и дальше планомерно добавлять память и ядра, в зависимости от кратного увеличения объема данных. При этом рекомендуется использовать больше ядер с примерно равной частотой процессора, чем малое количество ядер с высокой частотой. Главное условие для выделения памяти -не более 80% процентов от памяти рабочей машины (т.е. сервера).
И тут https://help.fanruan.com/finebi/doc-view-1574.html
На одном физическом сервере можно развернуть только один узел кластера. Максимально возможное число узлов на текущий момент – 5.
BI-проекты с большим количеством ежедневных активных пользователей могут использовать FineBI в разных конфигурациях.
Оценить параллелизм можно согласно сводке количества узлов: количество онлайн-пользователей (Y) = 300 * (Количество узлов (X) - 1) + 400.
При количестве 500 активных пользователей в день в FineBI и количестве онлайн пользователей в час меньше 100 рекомендуемая вендором конфигурация: количество узлов – 1, JVM/Физическая память - 16 ГБ/32 ГБ, ЦП (2,5 ГГц или выше) - Восемь ядер и 16 потоков.
При количестве 1000 активных пользователей в день в FineBI и количестве онлайн пользователей в час от 300 до 1000 рекомендуется развернуть уже 2 узла кластера.
Рекомендуемая конфигурация по количеству онлайн-пользователей в час:
Когда многим пользователям одновременно необходимо просматривать дашборд, то рекомендуется увеличить количество узлов кластера.
Когда количество запрашивающих пользователей в секунду достигает 160, скорость загрузки сервера балансировки нагрузки должна достигать 100 МБ/с.
Оценка одновременных пользователей на основе суммарного количества узлов: количество одновременных пользователей за 5 минут (Y) = 380 * количество узлов (X).
Рекомендации по серверу
Выбирайте конфигурации в соответствии с параллелизмом проекта и количеством пользователей. Выбирайте более высокие конфигурации, если бизнес-задачи попадают в несколько интервалов конфигурации.
Администраторам рекомендуется использовать функцию «Проверка работоспособности» для проведения регулярных проверок системы, чтобы убедиться, что среда, в которой находится приложение, и конфигурация внутри приложения являются разумными для обеспечения нормальной работы приложения.
Оптимизация производительности Fine BI
Признаки того, что, вам необходимо провести оптимизацию производительности процессов:
- Длительное время загрузки данных, визуальных элементов и информационных панелей.
- Переполнение памяти сервера.
- Падение производительности сервера.
- Происходят частые тайм-ауты запросов.
- Время обновления велико, сообщается об ошибке обновления, и обновление зависает.
Если вы встречаетесь с вышеперечисленными проблемами, сперва необходимо проанализировать и выявить возможные причины.
Производительность сервера
Fine BI строится на программном обеспечении Java, интегрированном в сервер, соответственно наследует ресурсы сервера. Виртуальная память сервера, настройки пула соединений и т. д. часто вызывают множество проблем с производительностью.
Подготовка данных
- При создании набора данных может произойти расширение объема данных, когда в левом и правом слияниях есть декартово произведение, что может вызвать проблему сбоя обновления или длительное время обновления.
- Скорость предварительного просмотра набора данных SQL влияет на скорость обновления, что может привести к замедлению предварительного просмотра и вызвать такие проблемы, как зависание обновления.
Производительность информационной панели
При создании информационной панели, если имеется слишком много уровней или групп диаграмм или если количество компонентов для одной информационной панели превышает 30, скорость отображения информационной панели будет низкой.
Оптимизация производительности сервера
Проверьте настройки сервера в зависимости от потребностей бизнеса к BI системе, ниже приведены требования к производительности и памяти. Посмотреть подробный отчет о производительности в режиме Direct можно по ссылке, посмотреть подробный отчет о производительности в режиме Spider можно здесь.
Оптимизация использования памяти
Физическая память, используемая Fine BI, делится на динамическую память и прямую физическую память.
Настоятельно рекомендуется, чтобы объем памяти физической машины/облачного хоста составлял не менее 16 ГБ. Если объем физической памяти слишком мал, это серьезно повлияет на производительность вычислений и стабильность системы Fine BI.
Существуют различные способы увеличения производительности через работу с хранением в зависимости от ОС на которой установлен Fine BI
Оптимизация подготовки данных
Обработка данных
- Стандартизируйте метод обработки данных и контролируйте использование левых и правых сценариев слияния N:N и обратите внимание на то, чтобы избежать ассоциаций N:N большого объема данных.
Обновление данных
- Избегайте большого количества регулярных обновлений одной таблицы, а время обновления относительно разбросано, старайтесь использовать глобальные обновления.
- При обновлении задачи одновременно объединяются и обновляются вместе, чтобы уменьшить количество повторных обновлений наборов данных самообслуживания.
- Управляйте частотой обновления, сокращайте количество обновлений, когда система используется в течение дня, или настраивайте параметры пула ресурсов, когда система используется в течение дня.
Использование данных
- Для direct подключения данных необходимо проверить производительность базы данных, чтобы обеспечить скорость извлечения из базы данных.
Оптимизация информационной панели
Тип данных
- Когда объем данных большой, рекомендуется перейти к direct подключению для извлечения данных.
- Если скорость выполнения запроса прямого подключения низкая, вы можете оптимизировать SQL выражение или обратиться к использованию параметров SQL, чтобы уменьшить объем данных.
Расчет данных
Проверьте, количество вычислений, таких как подсчет дедупликации, фильтрация заголовков, фильтрация формул и т. д., чтобы сократить количество вычислений, найти другие альтернативные методы расчета или перенести расчеты информационной панели в наборы данных самообслуживания.
Количество компонентов
За исключением компонентов фильтра, количество остальных компонентов рекомендуется не превышать 30.
Рекомендуется, чтобы количество условий в фильтрующем компоненте не превышало 30. Один компонент фильтра может иметь несколько условий.
Например, если город = "Москва" или (город = "Ленинград" и город = "Калининград"), несмотря на то, что во входной части может быть только один компонент фильтра, соответствующие условия фильтра равны 3.