Мы много пишем на тему мониторинга производительности. Теперь давайте разберемся на примерах как с помощью простых инструментов можно использовать это реальной жизни.nnРассмотрим простые примеры, чтобы вы поняли, как это работает, и смогли применять у себя.nnПервоначальный вопрос: «Как понять, что у вас что-то не так?». Обычно об этом сообщают системы мониторинга производительности. Либо у нас есть сотрудники, которые жалуются на медленную работу. Безусловно, лучше иметь мониторинг, например «Zabbix». С его помощью можно выяснить, что есть проблемы.nnЧто вы можете сделать в случае, если есть какие-то проблемы? Во-первых, нужно найти причину, и для этого возможно использовать утилиты «top» или «htop».n
Поиск источника проблем на сервере
Использование «top»: проблемы с «us» (User CPU time).n
- n
- Запустить утилиту «top»: ключ «top».
- Проанализировать действия, которые происходят в «us» (user space).
- Отсортировать по «CPU».
- Определить PID проблемного процесса.
- Попробовать вывести все процессы: ключ «ps -ef | grep 1477» (1477 — PID).
- Определить родительский PID.
- Выделить то, что было запущено родительским PID: Ключ «ps -ef | grep 1476».
nМы видим, что пользователь «Semaev» запустил «tar» утилиту архивации с ключами «zxf» (zip extract file), и он распаковывает файл «dump». Таким образом, мы выявили источник проблем.n
Использование «htop».
nОна нам показывает, насколько загружен процессор.n
nВидим, какая команда выполняется для каждого «PID».n
- n
- Открываем дерево процессов (клавиша F5).
- Находим PID, который загружает процессор, и анализируем дерево процессов.
nМы видим:n
- Запущен процесс «root@pts/l».
- Этот процесс в bash перешел в пользователя «Semaev».
- Тот в bash запустил «tar».
- И «tar» запускает «gzip», то есть сейчас разархивирует архив.
Таким образом, мы находим причину загрузки процессора.nnСравнительный итог: Работать с «htop» быстрее и удобнее.n
Общий основной алгоритм поиска проблемы на сервере:
- n
- Запустить диспетчер задач.
- Найти процесс, который перегружает процессор
- С помощью утилит выявить пользователя, который инициировал процесс.
- Дальше можем наказывать или понимать, что это нормально.
n
Поиск и решение проблем с производительностью сервера, обращайтесь [email protected]