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

Узкое место в сервере PHP / MySQL

Сервер замедляется в часы пик, и я действительно не знаю, как определить узкое место. Я могу обновить оперативную память и процессор. В настоящее время 2 ГБ и 2x2,4 ГГц

Linux CENTOS Около 60 000 просмотров страниц в день 600 уникальных пользователей Каждая страница примерно 5 запросов База данных составляет 10 ГБ

Что я уже сделал: Оптимизация запросов Оптимизация apache conf

Какой инструмент я могу использовать, чтобы проверить, что мне еще нужно? ЦП / ОЗУ Должен быть какой-то инструмент для ведения журнала, который через неделю скажет мне: вам нужна оперативная память. Когда я проверяю свою панель управления, он сообщает мне, что я использую 100% процессора в часы пик, но я не знаю, как это рассчитывается.

Должен быть какой-то инструмент для ведения журнала, который может сказать мне через неделю:

Нет, на самом деле нет. Для MySQL есть mysqltuner и tunimg-primer, но в целом слишком много переменных. Вы можете забросить память и ЦП на проблему только для того, чтобы обнаружить, что это узкое место ввода-вывода. Поменяйте их местами как хотите, а также добавьте некоторые другие переменные.

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

Взгляните на вывод команды top.

  • Что это вам говорит?
  • Какая нагрузка на систему
    • Как это меняется?
  • Что делает процессор
    • Он исчерпан?
    • Это ждет
    • Есть ли воровство (если это VPS)?
  • Что происходит с памятью
    • Есть ли свопинг?

Взгляните на вывод vmstat, iostat, iotop и т. Д. Выясните, что делает ваша система, какие ресурсы она использует и с которыми борется.

После того, как вы все это сделаете, вы сможете принять обоснованное решение о том, в чем проблема и как ее решить.