Перейти к содержанию

Диагностика ресурсов сервера

В этой статье

Общая нагрузка на сервер

Для мониторинга состояния сервера используются встроенные инструменты:

  • Windows: «Диспетчер задач».
  • Linux: утилита top, которая отображает среднюю нагрузку (Load Average) за 1, 5 и 15 минут. Идеальный показатель — значение, не превышающее количество ядер процессора. Например, LA 4 на четырехъядерном сервере указывает на 100%-ную загрузку ядер, что требует срочного снижения нагрузки.

Дополнительно:
- atop выделяет высокие показатели красным цветом.
- nmon предоставляет графики нагрузки процессора, диска, сети и памяти. Для активации графиков используйте определенные клавиши, список которых отображается при запуске программы.

Детальный анализ ресурсов

Дисковое пространство

Недостаток дисковой памяти может вызывать ошибки, такие как "Unable to connect to the database: Could not connect to MySQL", даже если сервер доступен. Для проверки:

  • Команда df -h отображает занятые и свободные разделы.
  • du -hs /* позволяет выявить крупные директории, например, старые архивы.
  • Очистка временных файлов (логов, кеша, сессий PHP) — эффективный способ освободить место.

Оперативная память

Динамичный характер использования ОЗУ требует регулярного контроля. Команда free -m показывает:
- Использованную и свободную память.
- Объем доступной пользователю памяти (сумма free и cached).

Для анализа процессов, потребляющих память, используйте:

ps axo rss,comm,pid | awk '
{
    # Группируем по имени процесса (comm)
    proc_list[$2]++; 
    # Суммируем RSS для каждого процесса
    total_memory[$2] += $1;
}
END {
    # Выводим результаты
    for (proc in total_memory) {
        printf("%.0fMB\t%s\n", total_memory[proc]/1024, proc);
    }
}' | sort -nr | head -n 10

Сетевой канал

Для мониторинга трафика:
- iftop с флагом -m 100M отображает ширину канала. Если пропускная способность превышает 50b (белая полоса в утилите), требуется увеличение пропускной способности.

Примечание

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

  • jnettop и iptraf — дополнительные инструменты для анализа сетевого трафика.

Мониторинг через браузер

Для мониторинга через браузер вы можете самостоятельно установить на сервер специализированные инструменты:

  • Munin и NetData — предоставляют графики нагрузки процессора, памяти, диска и трафика.

Также некоторые панели управления хостингом, например ispmanager позволяет анализировать ресурсы через интерфейс: отслеживание процессов, использование дискового пространства и т.д.

Анализ нагрузки от Apache и MySQL

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

Возможные причины таких запросов могут быть различными: это может быть легитимная посещаемость сайта, активность поисковых ботов или, что более серьёзно, DDOS-атака. Если причиной являются поисковые боты, можно снизить интенсивность их запросов, скорректировав интервалы между обращениями к серверу в настройках учетных записей Яндекс.Вебмастер и Google Webmasters Tool. В случае атаки обычные настройки не помогут — потребуется внедрение дополнительных мер защиты, например, использования специализированных инструментов или облачных решений.

Высокую нагрузку может также вызывать работа Mysql. В таком случае рекомендуется провести оптимизацию параметров службы, используя утилиту Mysqltuner. Кроме того, стоит обратить внимание на SQL-запросы, отправляемые в базы данных, и проверить их эффективность. Для этого можно воспользоваться командой show full processlist, которая отобразит список текущих операций Mysql.

Важно также следить за показателем WA в утилите top. Если значение этого параметра превышает 20, это может говорить о том, что данные не успевают записываться на диск, что приводит к сбоям в работе. В таких ситуациях рекомендуется обновить оборудование, например, установить диски SSD или NVMe, которые обеспечивают более высокую производительность.

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×