Mysql в TOPе [WordPress Issue]

Категория: / DEV Блог / Сервер (FreeBSD)
PID USERNAME      PRI NICE   SIZE    RES STATE  C   TIME   WCPU    CPU COMMAND
56099 mysql          20    0   345M 45492K kserel 1 986:41 112.55% 112.55% mysqld


А как это? )

upd:

Дело было в старом плагине simple tags для wordpress.
Такой запрос выполнялся крайне медленно для нескольких тысяч записей

SELECT DISTINCT p.post_title, p.comment_count, p.post_date, p.ID, COUNT(tr.object_id) AS counter
FROM wp_posts AS p
INNER JOIN wp_term_relationships AS tr ON (p.ID = tr.object_id)
INNER JOIN wp_term_taxonomy AS tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id)
WHERE tt.taxonomy = 'post_tag'
AND (tt.term_id IN ("54", "42", "30", "19"))
AND p.ID <> 4818
AND p.post_status = 'publish'
AND p.post_date < '2008-07-15 12:40:08'
AND p.post_type IN ('page', 'post')
GROUP BY tr.object_id
ORDER BY counter DESC, p.post_title DESC
LIMIT 0, 5


Анализируем.. вызов функции relatedPosts()

tt      range   PRIMARY,term_id_taxonomy        term_id_taxonomy        106             4       Using where; Using temporary; Using filesort
tr      ref     PRIMARY,term_taxonomy_id        term_taxonomy_id        8       tt.term_taxonomy_id     317    
p       eq_ref  PRIMARY,type_status_date        PRIMARY         8       tr.object_id    1       Using where


Обновление wp до 2.5 и simple tags до 1.5.7 решает проблему с нагрузкой.





Да, оказывается ежедневная проверка по крону не работала..

[root] myisamchk /usr/local/mysql/*/*.MYI
bash: /usr/local/bin/myisamchk: Argument list too long


Переписываем на

find /usr/local/mysql/ -type f -name '*.MYI' -exec myisamchk --force --fast {} \;