Отчёты

Генерация отчетов — это процесс, требующий значительных ресурсов. Он включает сбор разнообразной информации из нескольких таблиц базы данных и объединение её в единый документ. Давайте рассмотрим проблемы, которые могут возникнуть при создании отчетов на On-Premise экземпляре. Эти проблемы в основном связаны с аппаратной частью сервера, однако их обнаружение часто бывает неочевидным. Поэтому крайне важно всесторонне понять первопричины.

Отчеты не создаются

Это довольно распространенная проблема на автономных экземплярах Navixy, которые неправильно администрируются. При попытке сгенерировать отчет вы видите индикатор загрузки, но процесс длится бесконечно, и отчет на самом деле не создается. Если открыть вкладку Network в инструментах разработчика браузера, можно увидеть, что API-запрос на создание отчета завершается неудачей с 504 Gateway Time-out ошибкой.

Причина — недостаток свободного места на диске. Если ваша платформа работает на двух серверах, здесь речь идет об сервере приложений (где запущены Java-сервисы).

Платформа настроена приостанавливать ресурсоёмкие процессы, когда диск заполнен на 99%. В некоторых случаях (на экземплярах, развернутых до 2022 года) это происходит при заполнении диска более чем на 90%. Это сделано для сохранения базовой работоспособности, предотвращения полного переполнения диска и получения времени для решения проблемы.

Первое, что нужно сделать — убедиться, что диск действительно заполнен. Если это не так, возможно, это сбой платформы, который следует сообщить в техническую поддержку.

Убедитесь, что размер диска соответствует рекомендуемому согласно требованиям системы к аппаратному обеспечению сервера. Если объём диска меньше рекомендованного, необходимо принять экстренные меры по его увеличению.

Следующий шаг — выяснить, что стало причиной переполнения диска. Если на сервере у вас установлена только платформа Navixy, свободное место обычно занимают журналы (логи) платформы. Также место может занимать база данных, если она расположена на том же диске — со временем её размер неизбежно растёт. В последнем случае следует действовать немедленно, так как отсутствие свободного места для записи в базу данных может привести к её неработоспособности и потере информации.

Если на вашем сервере зарегистрировано много устройств (свыше нескольких тысяч), журналы backend-сервисов могут занимать значительный объём — иногда один файл превышает 1 ГБ. Однако логи не растут бесконечно: их стандартный срок хранения по умолчанию составляет 7 дней, после чего они удаляются.

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

Генерация отчетов занимает много времени

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

Возможные причины медленной генерации отчетов:

  • Недостаток оперативной памяти или низкая скорость диска — самая частая причина. По мере увеличения числа устройств и пользователей вашему серверу может не хватать ресурсов для эффективной работы. Системным администраторам следует проанализировать производительность сервера.

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

  • Чрезмерные лимиты для отчетов. Если вы ранее изменяли значения лимитов по умолчанию, нагрузка могла значительно возрасти.

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

  • Стороннее программное обеспечение на сервере или внешняя нагрузка на базу данных. Иногда заказчики используют на том же сервере, что и платформа, стороннее ПО (не связанное с Navixy) для выполнения специфических задач. Бывает и так, что стороннее ПО напрямую собирает информацию из базы данных, создавая непредсказуемую нагрузку. Это категорически не рекомендуется.

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

Последнее обновление

Это было полезно?