Факторы, влияющие на производительность. Рекомендации по оптимизации
Введение
Производительность Comindware Business Application Platform зависит от сложности настроенных приложений, объёма обрабатываемых данных и интеграций с внешними системами.
Приблизительно оценить снижение производительности в зависимости от наиболее важных факторов можно по следующей формуле
Снижение производительности = {кол-во правил для форм} × {сложность правил для форм} × {правила контекстных ролей} × {кол-во элементов на формах и вложенных форм} × {объем данных}
Ниже представлены типовые рекомендации по повышению производительности.
Примечание
- Представленные рекомендации являются общими и подходят не для всех случаев.
- Всегда тщательно анализируйте свои системы, сетевое окружение, программное и техническое обеспечение, бизнес-процессы, сценарии, скрипты и алгоритмы, чтобы определить, какие методы оптимизации будут наиболее эффективными в вашем конкретном случае.
- Эффективность предложенных мер зависит от конкретной конфигурации сервера и окружения, с которым он взаимодействует.
Оптимизация времени отклика
- Вход в систему
- Проверьте и сведите к минимуму сетевые задержки. Используйте инструменты мониторинга сети, например
traceroute
и ping
.
- Проверьте и повысьте скорость ответа сервера. Этого можно достичь путем оптимизации серверного оборудования, использования более производительных процессоров, увеличения пропускной способности сети и увеличения объема оперативной памяти.
- Открытие разделов навигации
- Сократите количество пунктов и подразделов в разделах навигации.
- Разделите большие разделы навигации на меньшие разделы и назначьте их тем ролям, которым они необходимы.
- Назначьте ролям только разделы навигации, которые действительно необходимы пользователям этих ролей.
- Открытие таблицы
- Сократите количество столбцов с вычисляемыми атрибутами.
- Упростите выражения для вычисляемых атрибутов.
- Упростите выражения для фильтра данных таблицы. Для повышения производительности можно переписать формулу в выражение на языке N3.
- Открытие формы
- Сократите количество полей с вычисляемыми атрибутами.
- Упростите выражения для вычисляемых атрибутов. Также можно переписать формулы в выражения на языке N3, который обеспечивает более высокую производительность.
- Уменьшите сложность правил для формы.
- Сократите количество правил.
- Задайте условия выполнения правил, чтобы вложенные в них действия не выполнялись без необходимости.
- Упростите выражения в правилах. Для повышения производительности можно переписать формулы в выражения на языке N3.
- Проверьте и упростите иерархию вложенных форм.
- Сохранение формы
- Уменьшите сложность правил для формы.
- Сократите количество правил.
- Задайте условия выполнения правил, чтобы вложенные в них действия не выполнялись без необходимости.
- Упростите выражения в правилах.
- Оптимизируйте сценарии, выполняющиеся при сохранении формы.
- Упростите алгоритмы работы сценариев.
- Сократите количество действий.
- Сократите количество условий и вложенных циклов.
- Упростите выражения в сценариях. Также можно переписать формулы в выражения на языке N3, который обеспечивает более высокую производительность.
- Сократите количество выражений.
- Сократите количество фиктивных и реальных изменений в данных формы.
- Оптимизируйте скрипты, выполняющиеся при сохранении формы.
- Упростите алгоритмы работы скриптов.
- Проверьте и оптимизируйте взаимодействие с API, например используйте более эффективные методы.
- Контекстные правила ролей
- Сравните производительность для аккаунта администратора и аккаунтами других пользователей для выявления проблем в конфигурации ролей.
- Оптимизируйте фильтры аккаунтов и условия применения разрешений в конфигурациях ролей. Для повышения производительности можно переписать формулы в выражения на языке N3.
Оптимизация интеграций с внешними службами
- Прием сообщений
- Оптимизируйте параметры подключений и путей передачи данных.
- Оптимизируйте интервал опроса сервера входящих сообщений.
- Отправка сообщений
- Оптимизируйте параметры подключений и путей передачи данных.
- Оптимизируйте частоту отправки сообщений.
- Обработка сообщений сценарием
- Упростите выражения в сценарии. Для повышения производительности можно переписать формулы в выражения на языке N3.
- Сократите количество выражений.
- Упростите алгоритм работы сценария.
- Сократите количество действий.
- Сократите количество условий и вложенных циклов.
- Обработка сообщений скриптом
- Упростите алгоритмы работы скрипта.
- Проверьте и оптимизируйте взаимодействие с API, например используйте более эффективные методы.
- Сохранение данных
- Сократите количество фиктивных и реальных изменений в данных.
- Интеграция с сервером каталогов
- Оптимизируйте подключения и запросы к серверу каталогов.
- Службы Kafka, Ignite и Elasticsearch
- Оптимизируйте конфигурацию служб Apache Kafka, Apache Ignite и Elasticsearch:
- выделение памяти;
- размер кучи Java;
- параметры кластера.
- Проверьте и настройте конфигурации репликации и шардирования данных для Elasticsearch.
- Настройте параметры устойчивости и производительности кластера Apache Ignite, такие как количество узлов и сетевые параметры.
- Настройте параметры устойчивости и производительности кластера Apache Kafka, такие как период хранения сообщений и сегментация журналов.
- Регулярно дефрагментируйте базу данных Apache Ignite для ускорения доступа и освобождения места.
- Антивирус
- Проверьте, не снижается ли производительность из-за работы антивируса на сервере.
- Рассмотрите возможность настройки исключений для служб Kafka, Ignite и Elasticsearch в антивирусном программном обеспечении.
- Ненужные внешние службы
- Отключите ненужные внешние службы для повышения производительности.
Оптимизация выполнения процессов и токенов
- Рекурсия в настройках
- Избегайте рекурсивных настроек в процессах.
- Обработка сообщений сценарием
- Упростите выражения в сценарии.
- Сократите количество выражений.
- Сократите количество действий.
- Сократите количество условий и вложенных циклов.
- Упростите алгоритм работы сценария.
- Сохранение данных
- Сократите количество фиктивных и реальных изменений в данных.
- Оптимизация алгоритмов
- Декомпозируйте и оптимизируйте процессы.
- Разделите сложные бизнес-процессы на более мелкие, управляемые части. Это поможет упростить управление процессами, быстрее вносить изменения и снизить вероятность ошибок.
- Создайте подпроцессы для выполнения определенных задач или логических блоков. Вызывайте эти подпроцессы из основного процесса. Это поможет структурировать процессы, сделать их более понятными и упростит управление ими.
- Используйте понятные и простые логические структуры, избегая избыточных условий и ветвлений.
- Упростите логику алгоритмов, используемых в бизнес-процессах:
- уменьшите количество операций;
- оптимизируйте структуры данных.
Оптимизация публикации процессов и токенов
- Количество версий процессов
- Сократите количество версий диаграмм процессов, оставив только необходимые.
Мониторинг и диагностика
- Мониторинг и трассировка
- Используйте инструменты трассировки мониторинга работы Comindware Business Application Platform для выявления узких мест:
- Используйте инструменты профилирования производительности вебсайта, например Webpagetest, профайлер JavaScript в Chrome;
- Используйте инструменты мониторинга производительности сервера, например Zabbix, Prometheus, Grafana, VmStat (
sysstat
), top
, htop
, perf
и flamegraph.pl
, .
- Используйте инструменты мониторинга:
- Elasticsearch — Kibana.
- Apache Kafka — AKHQ, Kowl, Kafdrop, UI for Apache Kafka, Lenses, CMAK, Confluent CC, Conduktor.
- Apache Ignite — JMX и MBeans, системные представления в SQL, Yardstick Framework.
- В журналах обращайте внимание на разницу во времени между началом и завершением событий, потенциально вызывающих снижение производительности.
- Резервное копирование и индексация
- Настройте регулярное резервное копирование.
- Проверьте индексацию данных.
- Системные службы
- Для отладки отключите системные службы, вызывающие подозрения.
- В случае неудачной настройки:
- остановите соответствующие системные службы;
- удалите неудачно настроенные сущности или исправьте настройку;
- снова включите системные службы.
Номер Статьи: 2613
Размещено: Fri, Jun 14, 2024
Последнее обновление: Fri, Oct 25, 2024
Online URL: https://kb.comindware.ru/article/faktory-vliyayushie-na-proizvoditelnost-rekomendacii-po-optimizacii-2613.html