SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 29.07.2011 08:24:21

MAV
Участник
Зарегистрирован: 29.07.2011
Сообщений: 4

Периодические насилование дисков

Здравствуйте.
Имеется сервер на FreeBSD, на котором крутится система мониторинга Zabbix, которая в свою очередь работает на MySQL.
В последнее время наблюдаются периодические тормоза Zabbix'а. Установлено, что в такие моменты происходит интенсивное обращение к диску движка MySQL. Так же установлено, что происходит это систематически, практически через равные промежутки времени. График прилагаю.
Вынесли tmpdir на tmpfs, однако tmpdir, похоже, вообще не используется, поскольку всегда пустой. Так же применили параметры из примера my-large.cnf При этом оперативная память используется мало:

Mem: 239M Active, 1319M Inact, 240M Wired, 88M Cache, 112M Buf, 79M Free

Загрузка CPU практически нулевая.
Подскажите, что еще можно оптимизировать.

Отредактированно MAV (29.07.2011 08:25:23)


Прикрепленные файлы:
Attachment Icon disk.png, Размер: 43,702 байт, Скачано: 554

Неактивен

 

#2 29.07.2011 09:15:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Периодические насилование дисков

Что-то пишет smile

Включите журнал медленных запросов и посмотрите. Учитывая предсказуемую
периодичность — можете еще и просто processlist посмотреть во время прихода
нагрузки.

Неактивен

 

#3 29.07.2011 11:19:00

MAV
Участник
Зарегистрирован: 29.07.2011
Сообщений: 4

Re: Периодические насилование дисков

Включил медленные запросы. В лог сыпется очень много всего. Это и не удивительно, т.к. в момент нагрузки тормозит вся база, и наверное почти все запросы становятся "медленными".
В процессах ничего подозрительного, ранее уже выяснили, что нагрузку на диск создает именно MySQL.

Неактивен

 

#4 29.07.2011 11:22:36

MAV
Участник
Зарегистрирован: 29.07.2011
Сообщений: 4

Re: Периодические насилование дисков

Меня смущает то, что половину времени сервер вообще отдыхает: нагрузка на цпу нулевая, оперативная память вообще ничем не занята. Да и обращения к дискам минимальные. А потом MySQL начинает что-то судорожно делать, читать/писать на диск. Вот если бы эти приступы как-нибудь размазать по времени: пускай оно чаще пишет на диск, но не так интенсивно.
Может где-то кэш подкрутить?

Неактивен

 

#5 31.07.2011 00:47:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Периодические насилование дисков

Хорошо. Представьте себе такую аналогию. Большой город. Каждый день с восьми
до 11 утра и с пяти до семи вечера на улицах возникают пробки из автомобилей.
Вы бы безусловно хотели, чтобы кто-то подкрутил кэши у дорог, и автомобили раз-
мазывались по времени в течение суток, но, к сожалению, люди едут на работу к
определенному времени, и едут с работы тоже в определенное время.

Так же и у Вас — заббикс запускает проверки в определенное время, и результаты
записывает именно тогда, когда делает проверки.

В processlist наверняка каких-то запросов висит больше, чем других — используйте
это знание. Со slow log аналогично, можно воспользоваться готовой утилитой
mk-query-digest (http://maatkit.org) для подсчета статистики запросов из slow log.

Неактивен

 

#6 31.07.2011 05:31:43

MAV
Участник
Зарегистрирован: 29.07.2011
Сообщений: 4

Re: Периодические насилование дисков

Заббикс уже оптимизировали как только можно. Проверки он запускает не в определенное время, показатели с источников поступают ровным потоком. Данные идут практически непрерывно и круглосуточно, с периодичностью от раз в 5 сек до раз в 5 мин. Там нет ничего, что проверялось бы и запускалось раз в несколько часов.
В процессах действительно ничего подозрительного, это уже проверили.
За mk-query-digest спасибо, попробуем.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson