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

Слишком высокая нагрузка на сервер базы данных Mysql?

У меня есть php-сайт. У меня два сервера.

Пожалуйста, помогите мне проверить, не слишком ли велика нагрузка на сервер базы данных Mysql? Я обнаружил, что загрузка ЦП mysql всегда превышает 100%. Есть предложения по оптимизации?

Я использую CentOS версии 5.8 Mysql 5.1.63-cll MySQL Community Server

4 процессора Intel Xeon 2.13G Общий объем памяти: 4 G

my.cnf

myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 100M
thread_concurrency = 4
max_connections = 600
max_user_connections=600

Короткий ответ: нет, нагрузка не слишком велика.

Некоторые подробности об этом

У вас 4 процессора и, как видите, iowait (0,0% wa) отсутствует.

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

Учитывая, что у вас 4 процессора, при загрузке в 1,5 беспокоиться не о чем. Фактически, вы не должны задумываться о проблемах с нагрузкой, пока ваша нагрузка постоянно не превышает 5.

Немного о нагрузке

Воспользуемся метафорой для ядер ЦП. Допустим, каждое ядро ​​представляет собой трубку. Средняя нагрузка описывает количество воды, которое должно пройти через трубку.

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

Итак, если у вас 4 ядра - вы легко справитесь с нагрузкой в ​​4, прежде чем беспокоиться о добавлении дополнительных трубок :)

Надеюсь, это имеет смысл.

Изменить: очевидное

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

да? нет? это зависит?

если ваш сервер обрабатывает пакетное задание - возможно, вы максимально используете свои ресурсы. если он используется как бэкэнд для какого-то интерактивного / веб-приложения - это нехорошо.

случайные подсказки: