Сегодня утром я заметил, что наша загрузка MySQL-сервера идет высоко. Макс должен быть 8, но он поражает более 100 в одной точке. Когда я проверил список процессов, я обнаружил множество запросов обновления (простых, увеличив "hitcounter" ), которые находились в состоянии query end
. Мы не могли убить их (ну, можно, но они остались в состоянии killed
неопределенно), и наш сайт остановился.
У нас было много проблем с перезагрузкой службы и пришлось принудительно убить некоторые процессы. Когда мы это сделали, нам удалось вернуть MySQLd, но процессы начали быстро расти. Насколько нам известно, на данный момент никакая конфигурация не была изменена.
Итак, мы изменили innodb_flush_log_at_trx_commit
с 2 на 1 (обратите внимание, что нам необходимо соответствие ACID) в надежде, что это решит проблему и установит связи в PHP/PDO, чтобы они были постоянными. Кажется, что это работает около часа или около того, а затем соединения снова начали работать.
К счастью, я установил подчиненный сервер пару месяцев назад и смог продвинуть его, и сейчас он занимает слабину, но мне нужно понять, почему это произошло и как остановить его, поскольку подчиненный сервер значительно ниже по сравнению с мастером, поэтому мне нужно скоро вернуться.
Есть ли у кого-нибудь идеи? Может быть, что-то нуждается в очистке? Я не знаю, что, может быть, двоичные журналы или что-то еще? Какие-нибудь идеи вообще? Крайне важно, чтобы мы могли вернуть этот сервер как мастер ASAP, но, честно говоря, я понятия не имею, где искать, и все, что я пробовал до сих пор, привело лишь к временному исправлению.
Помощь!:)