|
|
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Есть таблица, оттуда удаляются большие порции данных, по 25 тыс. за раз, в это время почему-то начинают иногда "подвисать" остальные запросы к другим таблицам (не имеющие никакого отношения у таблице, из которой происходит удаление), это видно в сессиях, они висят секунд по 10 и затем выполняются. Висят в состоянии Update. Процессор не загружен особо, диск вроде тоже (wa 2). Может ему каких-то буферов не хватает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:40:14 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hett, версия мускуля, тип движка, загрузка ОС (может оно окончания дисковой операции ждет?) - в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:44:03 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Версия 5.5, InnoDb везде Код: sql 1. Сейчас заметил, что иногда WA поднимается иногда до 10. В atop нагрузка на диск при этом не более 30% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:52:37 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Хотя нет, вот щас увидел Код: sql 1. Но это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:54:09 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Вообще в конфиге Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:55:00 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hett, сильно похоже на большую фрагментацию или диск тормозной. БД, как обычно, в одном файле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:58:07 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Да, и он большой уже -rw-rw---- 1 mysql mysql 14G Sep 12 09:59 ibdata1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 13:59:56 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
А хранение в нескольких файлах дает преимущества? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:00:34 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hett, зависит от задачи. Если у вас основная часть БД - статична, но есть "отдельные ссущности" которые часто и много удаляются, вставляются - то да. Разделение на файл-таблица позволяет изолировать читаемые данные от перезаписываемых... соответственно дефрагментация будет только в части таблиц. Ну или разносить по отдельным БД - тут читаем, тут правим. Если данные только добавляются (почему БД-прогеры и не любят удалять данные!), то не поможет ничем, но в этом случае и фрагментация "не при делах" (если БД на отдельном разделе и нет других процессов катающих данные на диске туда-сюда) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:05:34 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Да фрагментация там большая, скорее всего, сильно много удаляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:22:41 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Hett, optimize table вам в руки, если проблема в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:32:19 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Оно лочит таблицу, а оптимизация эта будет идти очень долго. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:53:05 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Наверное нужно переделывать на отдельные файл, да время от времени удалять старые таблицы, которые много перезаписываются. А если делать секционироване, они будут по файлам разбиваться каждая секция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 14:53:47 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
HettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать. если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ? Отсюда и решения уже надо искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2013, 23:37:09 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
netwindHettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать. если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ? Отсюда и решения уже надо искать. Ну так если она разделяется по количеству операций доступа к данным, то мне вот не очень понятно, почему один процесс должен ждать 10 секунд, когда второй в это время перелопатит с десяток тысяч записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 09:07:36 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
netwindHettНо это же не повод тормозить запросы на 10 сек, он их как-то же должен параллельно обрабатывать. если дисковая подсистема разделяется поровну на оба запроса, почему бы им всем вместе не потормозить ? Отсюда и решения уже надо искать.Насколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 09:47:02 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoft, в целом "оно и понятно" - кто первый встал, того и тапки. Процесс делает удаление большого объема данных... запрос на удаление - приоритетен (слабо кешируем) по-определению. У ФС, в общем-то тоже. Чтение другими запросами - что-то можно схватить из кеша иннодебила, что-то ФС отдала из своего кеша, что-то надо с диска... то туда, то сюда, то обратно. Как только полез в кеш - диск отдал, встал в очередь снова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 10:45:43 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoft[Насколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает. тяжелая операция - много операций ввода-вывода. все поровну кроме того, конкретная ситуация осложняется очередями и "интеллектом" linux - планировщиками ввода-вывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 11:45:54 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
netwindmiksoftНасколько я замечал по собственному опыту, MySQL не делит справедливо ввод-вывод между своими сессиями. Видел, как при выполнении тяжелого запроса с дисковой сортировкой все остальное практически встает. тяжелая операция - много операций ввода-вывода. все поровнуВставали даже простешие запросы типа выборки одной записи по первичному ключу из небольшой таблицы. Что-то это непохоже на "поровну". netwindкроме того, конкретная ситуация осложняется очередями и "интеллектом" linux - планировщиками ввода-вывода.Тут да, согласен, большое пространство для потенциальных засад. Но копать в эту сторону я тогда не стал, т.к. кардинального улучшения всей тогдашней ситуации это бы не дало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 11:52:18 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
miksoft, честно в том смысле, что обьяснимо : большой запрос это условно 99 операций в секунду, а маленький -одна. При честном делении шансов что маленький проскочит - 1 из 100. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 12:48:33 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
Ну если по другому посмотреть, то это 2 разных процесса. Сначала должна выполниться операция из одного, потом из другого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 13:02:03 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
HettНу если по другому посмотреть, то это 2 разных процесса. Сначала должна выполниться операция из одного, потом из другого. Вы сейчас про mysql или это какие-то девичьи мечты ? Если бы приоритизация запросов была бы реализована, то она была бы явно описана в документации. Но такого там нет. Улучшайте большой запрос, наращивайте мощность дисков, выносите большие запросы на другой сервер с репликацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 15:15:50 |
|
||
|
MySQL начинает "тормозить" при удалении из другой таблицы
|
|||
|---|---|---|---|
|
#18+
netwindвыносите большие запросы на другой сервер с репликацией. Да там проблема как раз в текучести данных, надо много удалять. Диски там и так не плохие. Надо наверно на SSD переходить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2013, 15:38:45 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38394715&tid=1836054]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
3ms |
| others: | 230ms |
| total: | 423ms |

| 0 / 0 |
