Назад | Перейти на главную страницу

400% загрузка процессора для MySQL? Какой? Что я должен делать?

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
19857 mysql     20   0  514m  47m 3404 S  386  9.7   4511:45 mysqld
15659 www-data  20   0  205m  11m 4856 S    7  2.3   0:00.67 apache2
15701 www-data  20   0  205m  11m 4424 S    5  2.2   0:00.19 apache2
15700 www-data  20   0     0    0    0 Z    1  0.0   0:00.02 apache2 <defunct>

Это мои результаты из top на Ubuntu. Было любопытно, почему мой сайт не работает сегодня. Может ли это быть?

Почему MySQL использует 386% ЦП? Это нормально? Что я могу сделать, чтобы это исправить?

...когда начать.

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

Я бы, наверное, начал смотреть на mysqladmin processlist чтобы увидеть, какие запросы выполняются дольше всего, и начать оптимизацию оттуда.

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

Чтобы исправить это всесторонне, вам действительно нужно надеть шляпу администратора базы данных и двигаться дальше. Если у вас нет знаний или навыков в этой области, возможно, будет проще получить администратора баз данных на контрактной основе, чтобы изучить это и дать рекомендации.

К сожалению, для всестороннего решения этой проблемы требуются время, знания и опыт работы с существующим набором данных.