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

Скорость ввода-вывода и загрузка ЦП Сервер делает сайт очень медленным

Мой сервер (Ubuntu 10.04 Lucid LAMP Stack) на линоде (оперативная память 1024 МБ, хранилище 40 ГБ, передача 400 ГБ) загружается ужасно медленно. Мой сайт (WordPress) относительно невелик (1,5 гигабайта mysql) и просматривает около 2 тыс. Страниц в день. Я видел парней, которые запускали сайт с 10-кратным трафиком, который у меня есть, с оперативной памятью 512 Мб и 20 гигабайтами памяти + передача 200 ГБ. Я действительно не знаю, что делаю не так, я установил iotop и увидел результаты, и он говорит мне, что mysql использует большую часть процессора. У меня установлена ​​система кеширования. Ниже приведены снимки за последние 24 часа. Если вы можете сказать мне несколько предложений, это было бы действительно находчиво.

См. Обновление ниже

Update: Solved: Thank you all for your recommendations. I did instal mysqltuner and was able to see at depth what some of the problems were. I found out that the reason for the spike in io rate and swap was a wordpress plugin. The plugin was basically "processing" every minute and after I disabled it, things looked way better. Pic below

Если вы думаете, что это из-за MySQL, я бы проверил следующее:

  • Бегать mysqltuner.pl, он сообщит вам, где очевидные проблемы с вашей установкой MySQL.
  • Активируйте и контролируйте журнал медленных запросов MySQL, он будет регистрировать все запросы, выполнение которых занимает больше N секунд (где N настраивается). Запросы могут сказать вам, связана ли эта проблема с WordPress или чем-то еще. Увидеть Документы MySQL Чтобы получить больше информации.

Посмотрев на графики, я бы также проверил, можете ли вы соотнести пиковые периоды с вашим access.log. Возможно, вы увидите из журнала, являются ли эти запросы законными веб-запросами.

Глядя на ваши графики, это выглядит очень периодическим. У вас нет заданий cron или "запланированных задач" внутри Wordpress? Работает раз в секунду, как часы, судя по всему.

Для анализа вашего Wordpress вы можете установить X-Debug чтобы выполнить профилирование и увидеть, где находится узкое место (здесь будут показаны длинные запросы PHP / MySQL, которые послужат отличным началом).

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

РЕДАКТИРОВАТЬ: Также похоже, что вы получаете огромное количество трафика в определенное время, это могут быть сканеры (например, Google) или кто-то, атакующий ваш сервер (или даже просто люди, которые в определенное время любят заходить на ваш сайт больше ...) . Вы должны смотреть свои журналы доступа в эти часы пик.

Вы можете просмотреть все системные cronjobs с помощью следующей команды (запускать как root):

for user in $(cut -f1 -d: /etc/passwd); do echo $user; crontab -u $user -l; done

Глядя на загрузку сети, я предполагаю, что наблюдается всплеск активности - со стороны ваших пользователей / клиентов или где-то еще? Может, на что посмотреть.

Кроме того - как организована ваша база данных MySQL - 1,5 ГБ в некоторых случаях может быть большой базой данных ... Индексы и сценарии оптимизации на месте?

Я пытаюсь угадать обычные причины подобных проблем, конечно, есть ли в вашей установке что-нибудь необычное, что могло бы вызвать эту нагрузку? Плагины Wordpress, вакансии Cron и т. Д.?

Я должен сказать, что вполне возможно, что это просто проблема, не связанная с Wordpress - автоматическое обновление заданий cron и т. Д.?