База Знаний

Простые инструкции по работе с сервисом ProfitServer
  1. Главная
  2. База Знаний
  3. Проверка ресурсов сервера

Проверка ресурсов сервера


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

Далее мы рассмотрим диагностику отдельных ресурсов с использованием инструментов хостинг-провайдера, а также через терминал на стороне сервера. Кроме того, мы разберем различные подходы к решению проблем, связанных с низкой производительностью системы. Инструкция применима к любым серверам с ОС семейства Linux, независимо от предустановленного программного обеспечения.

Проверка ресурсов сервера через VMmanager

Наиболее простым, но в то же время универсальным решением для диагностики ресурсов сервера выступает инструмент виртуализации VMmanager. Он играет ключевую роль в обеспечении эффективного управления выделенными или виртуальными серверами на большинстве современных хостинг-провайдеров. В качестве примера, проверка ресурсов сервера будет производиться на 6 версии инструмента, однако, предыдущие версии также позволяют провести аналогичную диагностику.

Для анализа необходимо перейти в панель управления VMmanager и выбрать нужную виртуальную машину:

VMmanager

Далее пользователь сразу может увидеть, как задействованы ресурсы в текущий момент времени. Для более детальной статистики требуется выбрать «Параметры»:

VMmanager параметры

Во вкладке детальной статистики сверху отображаются общие характеристики сервера и тип виртуализации. На графиках есть возможность посмотреть загруженность сети, нагрузку на процессор, использование оперативной памяти и дискового пространства в текущий момент времени:

Анализ ресурсов сервера в VMmanager

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

Виртуальные диски в VMmanager

Статистика загрузки конкретного ресурса отображается в виде удобного графика:

Статистика ресурсов в VMmanager

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

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

Пример сетевого интерфейса в VMmanager

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

Проверка ресурсов сервера в терминале

Анализ общей нагрузки сервера

Ранее мы уже рассматривали некоторые варианты анализа в статье Общая диагностика ресурсов сервера. Там мы поговорили о таких стандартных инструментах, как top/atop, а также рассмотрели установку и настройку утилиты Netdata, которая позволяет отслеживать ресурсы сервера через браузер. В данной статье мы рассмотрим htop как альтернативу утилите top для общего анализа системных ресурсов.

Инструмент не предустановлен в дистрибутивах семейства Linux по умолчанию, поэтому начинаем с установки. Для Debian/Ubuntu используем команду:

apt-get install htop

Для CentOS разумнее воспользоваться репозиториями EPEL. По умолчанию они отключены, поэтому первая команда отвечает за их добавление, а вторая за установку htop:

yum -y install epel-release
yum install htop -y

Сразу после установки можно открыть утилиту из меню приложений или в терминале соответствующей командой:

htop

В результате, пользователю будет доступна вся информация о системе:

Анализ ресурсов сервера htop

В верхнем левом углу отображаются данные о процессоре, включая использование каждого ядра, объем оперативной и swap памяти. Swap-память в Linux используется при нехватке оперативной памяти, обеспечивая стабильность системы. В правом верхнем углу можно наблюдать нагрузку процессора и количество активных задач. Центральная часть показывает активные процессы с возможностью сортировки. В нижней части представлена информация о горячих клавишах и функционале. Раздел "Help" содержит подробное описание возможностей программы:

Help-раздел инструмента htop

Перед диагностикой самой системы необходимо точно понимать, какое количество ядер/процессоров используется на сервере. Узнать свое значение пользователь может в верхнем левом углу утилиты htop:

Количество ядер сервера в htop

Или выполнив команду:

nproc

В зависимости от полученного значения, будет производиться расчет допустимой общей нагрузки (Load average в правом верхнем углу). В нашем случае оно равняется 2, что значит пределеная нагрузка 2.0. Однако, это не означает, что при нагрузке 2.0 система полностью зависнет. Это число может быть и больше, но в таком случае, все остальные задачи будут стоять в очереди, а сам сервер будет загружен. Идеальным значением считается нагрузка не более 70%. Например, на однопроцессорном сервере среднее Load average должно быть в пределах 0.7. В случае с сервером на примере выше, хорошим показателем будут значения не выше 1.4.

При помощи htop или его аналогов, пользователю необходимо оценить основные ресурсы: средняя загрузка процессора, использование оперативной памяти, дискового пространства и сетевого интерфейса. Если ресурсы минимальны, требуется отсортировать процессы по использованию CPU, выявить операции с высоким потреблением, после чего оптимизировать или завершить их. В случае невозможности закрытия программы или неудачной оптимизации, рекомендуется рассмотреть переход на сервер с более мощной конфигурацией.

Проверка свободной оперативной памяти

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

Самый простой способ проверить свободную оперативную память на любой системе семейства Linux через терминал – это команда:

free -m

На выходе получаем уже в мегабайтах следующие данные: общий, используемый, свободный и кэшированный объем оперативной памяти, а также объем подкачки (swap):

Диагностика оперативной памяти сервера

Инструмент полезен для получения общих данных в конкретный момент времени. Для динамической диагностики использования оперативной памяти, рекомендуется утилита vmstat, которая позволяет настраивать частоту обновления выходной информации:

vmstat 1

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

Проверка оперативной памяти vmstat

Инструмент предоставляет также общую информацию по системе, но в нашем случае важны только колонки, которые отвечают за оперативную память, то есть memory и swap. Все значения указаны в килобайтах. Разберем их детальнее:

Memory (Оперативная память):

  • swpd: виртуальная память, обменянная на физическую.
  • free: свободная физическая память (RAM).
  • buff: память, используемая как буфер перед записью на диск.
  • cache: память, используемая как кэш для ускорения доступа.

Swap (Swap-память):

  • si: данные, считанные из swap-памяти в физическую память.
  • so: данные, записанные из физической памяти в swap-память.

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

cat /proc/meminfo

Вывод довольно обширный, но для анализа памяти достаточно обратить внимание на первые записи:

Анализ оперативной памяти по журналу

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

Контроль дискового пространства

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

Наиболее удобный способ проверки – это команда:

df -h

В ответ инструмент покажет информацию по всем смонтированным разделам диска:

Диагностика свободной памяти сервера

Для более детального мониторинга директорий, можно воспользоваться командой:

du -hs /*
Изучение директорий сервера

Таким образом, пользователь сможет узнать, сколько места занимает каждый каталог. Для восстановления производительности системы, потребуется оптимизировать тот раздел диска, который потребляет наибольшее количество памяти. Рекомендуется не допускать использования более 80-90% свободного пространства от общего объема, оставшихся 10-20% должно быть достаточно для стабильной работы системы. В случае невозможности оптимизации, рекомендуется увеличить дисковое пространство. Это можно сделать путем добавления новых или расширения существующих дисков, а также использования облачного хранилища. Независимо от выбранного решения, рекомендуется всегда делать резервную копию во избежание потери файлов.

Мониторинг сетевого интерфейса

Заключительный, но не менее важный аспект диагностики сервера – это проверка сетевого интерфейса. Для общей информации о том, сколько трафика приходится на сетевые процессы в режиме реального времени можно воспользоваться утилитой nethogs.
Установка и запуск на Cent OS:

yum install nethogs
nethogs

Для Debian/Ubuntu:

apt-get install nethogs
nethogs

Инструмент покажет те процессы, которые задействуют сетевые ресурсы в данный момент:

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

Для более детального анализа рекомендуем воспользоваться iftop.
Установка и запуск на Cent OS:

yum install iftop
iftop

Для Debian/Ubuntu:

apt-get install iftop
iftop

Вывод программы представляет собой список активных соединений с указанием IP-адресов, портов, объема переданных данных и скорости передачи. Главное преимущество программы – это визуальное оформление загрузки сетевого канала:

Просмотр активных сетевых соединений

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

Заключение

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

Предыдущая статья Проверка почтового сервера
Следующая статья Консольные текстовые редакторы Linux

Задайте вопрос

Мы всегда готовы ответить на Ваши вопросы в любое время суток.
Пожалуйста, проверьте нашу Базу Знаний, скорее всего ответ на ваш вопрос там уже есть!