Добрый день.Недавно возрастала нагрузка на бд mysql, порядка 70 коннектов, в основном выборка данных, база небольшая - 60мб. Сервер два проца X5650 (24 ядра) + 16гб памяти. Проблема в том что при нагрузке на базу system time по каждому ядру >50%. iowait = 0, user time 10-20%
strace показал что 99,9% всех сисколов из сервера mysql приходится на select.
Собственно вопрос - с чем может быть связана столь высокая частота вызовов select, куда копать, что оптимизировать.
ps. в конфиге буфер/стеки/кеши увеличил до не скольких раз - не помогло. centos 5.5, mysql 5.0.77
>[оверквотинг удален]
> Недавно возрастала нагрузка на бд mysql, порядка 70 коннектов, в основном выборка
> данных, база небольшая - 60мб. Сервер два проца X5650 (24 ядра)
> + 16гб памяти. Проблема в том что при нагрузке на базу
> system time по каждому ядру >50%. iowait = 0, user time
> 10-20%
> strace показал что 99,9% всех сисколов из сервера mysql приходится на select.
> Собственно вопрос - с чем может быть связана столь высокая частота вызовов
> select, куда копать, что оптимизировать.
> ps. в конфиге буфер/стеки/кеши увеличил до не скольких раз - не помогло.
> centos 5.5, mysql 5.0.77селект-селекту рознь. Можно один селект с группировкой такой отправить - что проц на сервере просто обалдеет
Утилита есть такая - mytop называется. Прикрутите ее и посмотрите, чем у вас загружен мускул. Если много селектов с джойнами - надо думать о том, какие параметры включить в индексы, чтобы ускорить выборку. Логгировать долгие (long) запросы тоже не помешает.
> ps. в конфиге буфер/стеки/кеши увеличил до не скольких раз - не помогло.очень плохой способ! Увеличение не всегда приводит к положительным результатам.
http://blogs.oracle.com/dlutz/entry/mysql_query_cache_sizing
советую ознакомиться