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

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


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

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

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

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

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

vm-2

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

vm2-1

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

vm3-3

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

vm4-1

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

vm5-1

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

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

vm6-1

В таком случае не требуется применять какие-либо меры. Однако, в случае с процессором, оперативной памятью или дисковым хранилищем, сервер не должен задействовать все 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-3

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

htop2

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

htop3

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

nproc

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

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

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

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

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

free -m

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

free-m

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

vmstat 1

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

vmstat2

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

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

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

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

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

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

cat /proc/meminfo

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

vmstat

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

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

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

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

df -h

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

df-h

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

du -hs /*
du

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

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

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

yum install nethogs
nethogs

Для Debian/Ubuntu:

apt-get install nethogs
nethogs

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

nethogs

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

yum install iftop
iftop

Для Debian/Ubuntu:

apt-get install iftop
iftop

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

iftop

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

Заключение

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


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

Мы всегда готовы ответить на Ваши вопросы в любое время суток.