Сервер C2Q x 2 8G ram. RAID 5( 3 hdd ), mysql 5.1.26-rc \ Red Hat 4.1.2-14
Когда собирали(два года назад) были молодыми и глупыми, но сервер вообще влезает в свои параметры.
Итак имеем относительно высокую нагрузку на MySQL — 601.90 запросов в секунду, из них апдейты\инсерты — 2%, а ~70% — stmp prepare\execute\close, на долю чистого селекта остается 34.84%
И где-то неделю назад база научилась умирать — создавались кучи процесов которые работали по полчаса.
Странность 1 — ровно через час все чинилось САМО
В общем начались разгребания состояния сервера.
Как один из пунктов этой программы в код движка был добавлен дамп времени выполнения операций в базу обратно в эту базу.
Этот код работал для запросов которые заняли дольше 0.1 сек — slow_log их еще не видит, но это уже тормоза…
В общем тут и пошли странности — самый обычный запрос, который, запусти его ручками, выполняется 0.0001 репортит в базу что он выполнялся 0.5 или даже ДВЕ секунды…
Странность номер два — тормоза идут мелкими сериями, по 5-10 тормознутых запросов, примерно раз в 11 секунд.
И в этот момент, обычно, только несколько таблиц торомозят( тоесть я вижу пачку по сути одинаковых запросов в логе в этот момент)
Так как 99 тормозных запросов приходились на innoDB таблицы были проведены некоторые танцы — включен file_per_table и таблицы из обшей свалки(11Гб) перевелись в свои маленькие файлики( конечный общий размер 4Гб, фрагментация там была дайбоже )
LA сервера, 0.9
утилизация винта — 15-20%
Конфиг
тут
Свободная память — есть.
Идей откуда тормоза и что делать — нет
Как вариант — Percona или MariaDB (5.1.6?)
Бонус пак — когда mysql зависает — конекты от него не отваливаются, процесы не завершаются.
Никак кроме как kill -9....