Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL начинает "тормозить" при удалении из другой таблицы / 23 сообщений из 23, страница 1 из 1
12.09.2013, 13:40:14
    #38394684
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Есть таблица, оттуда удаляются большие порции данных, по 25 тыс. за раз, в это время почему-то начинают иногда "подвисать" остальные запросы к другим таблицам (не имеющие никакого отношения у таблице, из которой происходит удаление), это видно в сессиях, они висят секунд по 10 и затем выполняются. Висят в состоянии Update.
Процессор не загружен особо, диск вроде тоже (wa 2). Может ему каких-то буферов не хватает?
...
Рейтинг: 0 / 0
12.09.2013, 13:44:03
    #38394689
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Hett,

версия мускуля, тип движка, загрузка ОС (может оно окончания дисковой операции ждет?) - в студию.
...
Рейтинг: 0 / 0
12.09.2013, 13:52:37
    #38394706
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Версия 5.5, InnoDb везде

Код: sql
1.
Cpu(s): 21.9%us,  3.1%sy,  0.0%ni, 73.3%id,  1.2%wa,  0.0%hi,  0.5%si,  0.0%st



Сейчас заметил, что иногда WA поднимается иногда до 10.
В atop нагрузка на диск при этом не более 30%
...
Рейтинг: 0 / 0
12.09.2013, 13:54:09
    #38394710
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Хотя нет, вот щас увидел

Код: sql
1.
DSK |          sda |  busy     90% | read      55 | write   2767  | KiB/r     15 | KiB/w     35 |  MBr/s   0.08 | MBw/s   9.65 | avq    41.95  | avio 3.16 ms |



Но это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать.
...
Рейтинг: 0 / 0
12.09.2013, 13:55:00
    #38394712
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Вообще в конфиге

Код: sql
1.
innodb_flush_log_at_trx_commit  = 2
...
Рейтинг: 0 / 0
12.09.2013, 13:58:07
    #38394715
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Hett,

сильно похоже на большую фрагментацию или диск тормозной. БД, как обычно, в одном файле?
...
Рейтинг: 0 / 0
12.09.2013, 13:59:56
    #38394719
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Да, и он большой уже

-rw-rw---- 1 mysql mysql 14G Sep 12 09:59 ibdata1
...
Рейтинг: 0 / 0
12.09.2013, 14:00:34
    #38394720
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
А хранение в нескольких файлах дает преимущества?
...
Рейтинг: 0 / 0
12.09.2013, 14:05:34
    #38394728
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Hett,

зависит от задачи. Если у вас основная часть БД - статична, но есть "отдельные ссущности" которые часто и много удаляются, вставляются - то да. Разделение на файл-таблица позволяет изолировать читаемые данные от перезаписываемых... соответственно дефрагментация будет только в части таблиц. Ну или разносить по отдельным БД - тут читаем, тут правим.

Если данные только добавляются (почему БД-прогеры и не любят удалять данные!), то не поможет ничем, но в этом случае и фрагментация "не при делах" (если БД на отдельном разделе и нет других процессов катающих данные на диске туда-сюда)
...
Рейтинг: 0 / 0
12.09.2013, 14:22:41
    #38394765
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Да фрагментация там большая, скорее всего, сильно много удаляется.
...
Рейтинг: 0 / 0
12.09.2013, 14:32:19
    #38394787
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Hett,

optimize table вам в руки, если проблема в этом.
...
Рейтинг: 0 / 0
12.09.2013, 14:53:05
    #38394823
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Оно лочит таблицу, а оптимизация эта будет идти очень долго.
...
Рейтинг: 0 / 0
12.09.2013, 14:53:47
    #38394826
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Наверное нужно переделывать на отдельные файл, да время от времени удалять старые таблицы, которые много перезаписываются.
А если делать секционироване, они будут по файлам разбиваться каждая секция?
...
Рейтинг: 0 / 0
12.09.2013, 23:37:09
    #38395350
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
HettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать.
если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ?
Отсюда и решения уже надо искать.
...
Рейтинг: 0 / 0
13.09.2013, 09:07:36
    #38395469
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
netwindHettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать.
если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ?
Отсюда и решения уже надо искать.
Ну так если она разделяется по количеству операций доступа к данным, то мне вот не очень понятно, почему один процесс должен ждать 10 секунд, когда второй в это время перелопатит с десяток тысяч записей.
...
Рейтинг: 0 / 0
13.09.2013, 09:47:02
    #38395499
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
netwindHettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать.
если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ?
Отсюда и решения уже надо искать.Насколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает.
...
Рейтинг: 0 / 0
13.09.2013, 10:45:43
    #38395612
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
miksoft,

в целом "оно и понятно" - кто первый встал, того и тапки.

Процесс делает удаление большого объема данных... запрос на удаление - приоритетен (слабо кешируем) по-определению. У ФС, в общем-то тоже. Чтение другими запросами - что-то можно схватить из кеша иннодебила, что-то ФС отдала из своего кеша, что-то надо с диска... то туда, то сюда, то обратно.

Как только полез в кеш - диск отдал, встал в очередь снова.
...
Рейтинг: 0 / 0
13.09.2013, 11:45:54
    #38395756
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
miksoft[Насколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает.
тяжелая операция - много операций ввода-вывода. все поровну
кроме того, конкретная ситуация осложняется очередями и "интеллектом" linux - планировщиками ввода-вывода.
...
Рейтинг: 0 / 0
13.09.2013, 11:52:18
    #38395772
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
netwindmiksoftНасколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает.
тяжелая операция - много операций ввода-вывода. все поровнуВставали даже простешие запросы типа выборки одной записи по первичному ключу из небольшой таблицы. Что-то это непохоже на "поровну".
netwindкроме того, конкретная ситуация осложняется очередями и "интеллектом" linux - планировщиками ввода-вывода.Тут да, согласен, большое пространство для потенциальных засад.
Но копать в эту сторону я тогда не стал, т.к. кардинального улучшения всей тогдашней ситуации это бы не дало.
...
Рейтинг: 0 / 0
13.09.2013, 12:48:33
    #38395902
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
miksoft, честно в том смысле, что обьяснимо : большой запрос это условно 99 операций в секунду, а маленький -одна. При честном делении шансов что маленький проскочит - 1 из 100.
...
Рейтинг: 0 / 0
13.09.2013, 13:02:03
    #38395930
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
Ну если по другому посмотреть, то это 2 разных процесса. Сначала должна выполниться операция из одного, потом из другого.
...
Рейтинг: 0 / 0
13.09.2013, 15:15:50
    #38396179
netwind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
HettНу если по другому посмотреть, то это 2 разных процесса. Сначала должна выполниться операция из одного, потом из другого.
Вы сейчас про mysql или это какие-то девичьи мечты ? Если бы приоритизация запросов была бы реализована, то она была бы явно описана в документации. Но такого там нет.

Улучшайте большой запрос, наращивайте мощность дисков, выносите большие запросы на другой сервер с репликацией.
...
Рейтинг: 0 / 0
13.09.2013, 15:38:45
    #38396223
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MySQL начинает "тормозить" при удалении из другой таблицы
netwindвыносите большие запросы на другой сервер с репликацией.
Да там проблема как раз в текучести данных, надо много удалять. Диски там и так не плохие. Надо наверно на SSD переходить.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / MySQL начинает "тормозить" при удалении из другой таблицы / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]