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

Как узнать, какие процессы замедляют мой сервер?

Все мои веб-сайты на моем сервере работают очень медленно или вообще не загружаются. Даже администратор сервера (Plesk) несколько раз не загружается.

За последние несколько месяцев на сайтах не было изменений.

Как я могу увидеть, какие процессы замедляют работу моего сервера?

Моя среда выглядит так:

Сервер: VPS под управлением Linux 2.8.x
ОС: Centos 5
Интерфейс управления: Plesk 9.x
Память: 1024 МБ
Процессор: 2,2 ГГц

Мои сайты работают на PHP и MySQL.

Наконец-то мне удалось подключиться к моему серверу через Telnet (Putty + SSH). Бег top не отображалось никаких процессов, использующих более 2% ЦП, и ни один из них не использовал избыточную память.

Я также попросил друга установить программу, которая проверяет файлы ядра, и все выглядело нормально.

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

Вот несколько ответов Шону Кимбаллу:

Prefork выглядит так

<IfModule prefork.c>
StartServers       8
MinSpareServers    5
MaxSpareServers   20
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

Вы можете увидеть свою среднюю нагрузку uptime.

Поскольку ваш сервер является VPS, мощность процессора может не полностью принадлежать вам, и действия других пользователей (которые используют то же оборудование, что и ваш VPS) могут влиять на ваш сервер. Я испытал это на собственном опыте.

Еще один чек может стоить iotop.

Не могли бы вы рассказать нам немного больше о своей среде - ram, cpu, это виртуальная машина, версия plesk ... и т. Д. Кроме того, только Apache работает медленно, mail, ftp, dns и т. Д. Все в порядке?

  • Проверьте свою очередь почты [qmqtool отлично подходит для этого]
  • Проверьте свою пропускную способность и пропускную способность, был ли скачок
  • Если это виртуальная машина, вы сможете устранять неполадки с помощью инструментов virtuozzo.
  • Вы изменили конфигурацию apache? конкретно эта часть:

    <IfModule prefork.c>

    StartServers 2
    MinSpareServers 2
    MaxSpareServers 5
    ServerLimit 200
    MaxClients 200
    MaxRequestsPerChild  4000
    

    </IfModule>

  • DNS, он работает? ваши экспедиторы отвечают на запросы.

  • ps -ax, какие-то странные процессы, которые вы не можете идентифицировать?
  • как выглядит ваша средняя нагрузка в любой момент времени?

Наконец, не связанного с вашей проблемой, включите SSH и выключите telnet - ради бога, пожалуйста!

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

Результат выглядит как

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

http://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems

Предоставляет ли Plesk какую-либо информацию о производительности / статусе?

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

Например, вы можете попробовать это:

<?php

exec('TERM=xterm /usr/bin/top n 1 b i', $top, $error );
echo nl2br(implode("\n",$top));
if ($error){
    exec('TERM=xterm /usr/bin/top n 1 b 2>&1', $error );
    echo "Error: ";
    exit($error[0]);
}

?>

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