Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
Всех приветствую!
Подскажите, пожалуйста, в чем может быть проблема, мускул понасоздавал 4636 временных файлов, как понять откуда столько дерьма лезет?
MariaDB [(none)]> SHOW STATUS LIKE '%tmp%';
Created_tmp_files | 4636

Все льётся на отдельный раздел /var/mysql-tmp размер раздела 30GB и не хватает, мониторинг постоянно орет то аларм, то резолв
Данная машинка находится в репликации, в слэйве. Есть еще один мастер. Лаги не наблюдаются.
7 ноя 20, 13:11    [22227941]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
miksoft
Member

Откуда:
Сообщений: 38555
troy856,

Понасоздавал и не удалил за собой?
Если удалил, то сама по себе величина ни о чем не говорит. Надо понимать за какое время она набралась или как быстро растет.

Временные файлы могут образовываться, например, при выполнении запросов, у которых в плане есть Using temporary; Using filesort. Или при материализации вьюх.

Объем временного файла зависит от того, какой объем информации обрабатывает запрос на том этапе, где понадобился этот файл.

Пересматривайте самые долгоиграющие запросы, смотрите их план, оптимизируйте.
7 ноя 20, 13:34    [22227952]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
miksoft, Если эта величина не растет, то возможно удалить их?
7 ноя 20, 14:13    [22227967]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
miksoft,

Возможно удалить временные файлы, без рестарта сервиса?

Спасибо за ответ.
7 ноя 20, 14:17    [22227968]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
miksoft
Member

Откуда:
Сообщений: 38555
troy856
то возможно удалить их?
а они есть? обычно MySQL сам корректно их удаляет.
Можно удалить и самостоятельно. Те файлы, которые прям сейчас используются, будут заблокированы от удаления.
7 ноя 20, 14:20    [22227970]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
miksoft,

Вроде пишет как есть и эта величина пока не менялась...

MariaDB [(none)]> SHOW STATUS LIKE '%tmp%';

| Variable_name | Value |

| Created_tmp_files | 4636 |


Мониторинг просто постоянно орет что 30GB временные файлов забивает, потом отпускает.

Получается MySQL дропает старые файлы и заново генерит новые? Поэтому постоянно скачет место на диске?
7 ноя 20, 14:33    [22227973]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
miksoft
Member

Откуда:
Сообщений: 38555
troy856,

так в каталоге /var/mysql-tmp есть файлы? посмотрите оглавление каталога и последите за его изменениями.
7 ноя 20, 14:56    [22227978]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
miksoft
Member

Откуда:
Сообщений: 38555
troy856
Получается MySQL дропает старые файлы и заново генерит новые? Поэтому постоянно скачет место на диске?
В целом да, и это нормально, пока время выполнения запросов норме.
Но тогда счетчик должен расти.
7 ноя 20, 14:57    [22227979]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
miksoft,

Каталог /var/mysql-tmp пустой
7 ноя 20, 16:10    [22227985]     Ответить | Цитировать Сообщить модератору
 Re: MySQL понасоздавал много временных файлов  [new]
troy856
Member

Откуда:
Сообщений: 6
miksoft,

Ну тогда полагаю нужно диск расширить для временных файлов если их дофига мускул создает или лучше ограничить макс. размером через параметр innodb_temp_data_file_path ?
7 ноя 20, 16:13    [22227986]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить