Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
product:settings:productivity [14.05.2025 07:44] – [Качество связи между приложение и БД] ekaterina.menkhuzinaproduct:settings:productivity [03.09.2025 09:13] (текущий) – [Рекомендации при эксплуатации Системы] ekaterina.menkhuzina
Строка 291: Строка 291:
     * включенная опция ''shared memory'', чтобы разграничить потребление памяти между IIS и SQL     * включенная опция ''shared memory'', чтобы разграничить потребление памяти между IIS и SQL
  
 +===== Рекомендации при эксплуатации Системы =====  
 +Рекомендации при эксплуатации Системы ADVANTA с описанием возможных проблем, причинами их возникновения и способами их решения.
 +
 +^Проблема^Категория проблемы^Метод диагностики причины и возможных решений^Возможные причины проблемы^Решение^
 +|OLAP-куб не пересчитывается за отведенное время| | |1.Большой объем данных (много строк данных). \\ 2. Приложение ADVANTA может строить неоптимальные запросы в БД. \\ 3. Настроена слишком сложная логика OLAP-куба. \\ 4. Сложная связь OLAP-кубов между собой. \\ 5. Большая нагрузка на Систему во время пересчета. \\ 6. Пересчет куба не успевает выполниться за отведенное время. \\ 7. Большое количество показателей и измерений (в том числе скрытых).|1. Увеличить значение таймаута пересчёта куба - CubeCommandTimeout с перезапускам ADVANTA и службы MS SQL/PostgreSQL). \\ 2. Попробовать пересчитать проблемный OLAP-куб отдельно. \\ 3. Убрать показатели, которые нигде далее не используются. \\ 4. Уменьшить количество измерений. \\ 5. Упростить логику расчета OLAP-куба. \\ 6. Упростить использование OLAP-куба в других кубах. \\ 7. Перенос пересчета куба на ночное время (в менее загруженное для БД время). \\ 8. Оптимизировать логику пересчета куба. \\ 9. Оптимизировать запросы в БД, которые генерирует приложение ADVANTA - это возможно только с получением полного дампа от клиента.|
 +|Медленная работа Системы, например: \\ • долгое открытие ГАНТа; \\ • долгое открытие Карточки проекта; \\ • долгое обновление/сохранение страниц.| |1. Долгая подгрузка меню пользовательских колонок в ГАНТе. \\ 2. Долгое открытие excel-отчётов.|Большое количество реквизитов в Карточке объекта|1. Разнести (сократить) большое количество реквизитов по другим объектам. \\ 2. Сократить количество условных реквизитов у объектов.|
 +|:::| |1. Долгие операции автоматизации (триггеров). Можно посмотреть на логи триггеров/Системы. \\ 2. Триггеры не завершают свою работу.|Неоптимально написанный триггер (например, большое количество записей обработки данных)|1. Подключить триггерописцев по проекту для оптимизации. \\ 2. Разбить большое количество записей на порции. \\ 3. Под каждую операцию добавить ''timeout'', чтобы приложение/база успевали обработать данные.|
 +|:::| |Заходить в каждый LINQ и проверять время выполнения. Адекватное время выполнения до 3 секунд|Неоптимально написанный LINQ-запрос|Подключить внедренцев по проекту для оптимизации|
 +|:::|Долгая авторизация через [[product:settings:system:active_directory|Active Directory]] не под Администратором Системы|1. Проверить сетевую связанность между приложением и [[product:settings:system:active_directory|Active Directory]]. \\ 2. Проверить скорость взаимодействия между приложением и [[product:settings:system:active_directory|Active Directory]]. \\ 3. Проверить в ненагруженное время (например, ночью).|1. Проблемы в инфраструктуре. \\ 2. Проблема в производительности БД. \\ 3. Проблема в неправильно настроенном [[product:settings:system:active_directory|Active Directory]] и связи с ней из приложения.|
 +|:::|Периодически быстродействие Системы (в нормальном - 3 секунды, в медленном 1.5 минуты)|Проверить графики в [[https://www.zabbix.com/ru|Zabbix]] по нагрузке на сервер приложения и БД|Запускаемые периодически триггеры|
 +|Чрезмерное потребление оперативной памяти| |Диагностировать потребление можно через [[https://www.zabbix.com/ru|Zabbix]] и связать с запускаемыми процессами по таймеру или триггерами|Строятся крупные excel-отчёты, которые занимают большое количество оперативной памяти|Вынести сервис расчета excel-отчетов на отдельную машину [[product:settings:system:excel_table_report_win|для ОС Windows]]/[[product:settings:system:excel_table_report_linux|для ОС Linux]]|
 +|Чрезмерное потребление CPU (повторяется в одно и то же время каждый день)| |1. Диагностировать потребление можно через [[https://www.zabbix.com/ru|Zabbix]] и связать с запускаемыми процессами по таймеру или триггерами. \\ 2. Долгие операции автоматизации (триггеров). Можно посмотреть на логи триггеров/Системы. \\ 3. Триггеры не завершают свою работу.|Неоптимально написанный триггер (например, большое количество записей обработки данных)|1. Подключить триггерописцев по проекту для оптимизации. \\ 2. Разбить большое количество записей на порции. \\ 3. Под каждую операцию добавить ''timeout'', чтобы приложение/база успевали обработать данные.|
 +|Циклические триггеры| |Можно посмотреть на логи триггеров/Системы.|Неправильно настроенные триггеры могут создавать циклические зависимости, приводящие к бесконечным циклам обработки. \\ Пример ситуации: \\ 1. Триггер А запускается при создании задачи и изменяет статус проекта \\ 2. Триггер Б запускается при изменении статуса проекта и создает новую задачу. \\ При запуске эта цепочка приведет к бесконечному циклу: создание задачи - изменение статуса - создание задачи - изменение статуса и т.д.|Рекомендация: избегать создания цепочек триггеров, которые могут вызывать друг друга.|
 ===== Анализ логов =====   ===== Анализ логов =====