# Отчеты

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

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

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

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

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

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

Убедитесь, что размер диска соответствует рекомендуемому согласно [требованиям системы к аппаратному обеспечению сервера](https://www.navixy.com/docs/on-premise/ru/on-premise/how-to-guide/requirements/server-hardware). Если объём диска меньше рекомендованного, необходимо принять экстренные меры по его увеличению.

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

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

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

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

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

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

* **Недостаток оперативной памяти или низкая скорость диска** — самая частая причина. По мере увеличения числа устройств и пользователей вашему серверу может не хватать ресурсов для эффективной работы. Системным администраторам следует проанализировать производительность сервера.
* **Высокая нагрузка на сервер в рабочие часы**. Если ваши пользователи одновременно формируют множество отчетов или если через API запрашивается большое количество данных, это может повлиять на общую производительность платформы.
* **Чрезмерные лимиты для отчетов.** Если вы ранее [изменяли значения лимитов по умолчанию](https://www.navixy.com/docs/on-premise/ru/on-premise/how-to-guide/configuration/system-limits), нагрузка могла значительно возрасти.
* **Некорректная конфигурация MySQL.** Если конфигурация была изменена для каких-либо целей и отличается от стандартной, сама база данных может работать неэффективно.
* **Стороннее программное обеспечение на сервере или внешняя нагрузка на базу данных.** Иногда заказчики используют на том же сервере, что и платформа, стороннее ПО (не связанное с Navixy) для выполнения специфических задач. Бывает и так, что стороннее ПО напрямую собирает информацию из базы данных, создавая непредсказуемую нагрузку. Это категорически не рекомендуется.
* **Сбой платформы.** К сожалению, программные сбои иногда происходят, но они довольно редки, поэтому сперва следует исключить все перечисленные выше причины. Если вы уверены, что медленная генерация отчетов вызвана сбоем платформы, сообщите об этом в техническую поддержку, приложив всю информацию, которая позволила вам прийти к такому выводу.
