0
0

Как повысить эффективность работы сервера?

Как повысить эффективность работы сервера?

Почему компании важно контролировать работу своих серверов

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

Важно! Скорость работы сервера влияет на ранжирование и конверсию. Пользователи не привыкли ждать: задержка даже в одну секунду на сайте или в приложении способна увеличить процент отказов на 7%. Согласно данным полученным сотрудниками Amazon, каждые 100 миллисекунд задержки могут стоить компании 1% потенциальных продаж.

Техническое обоснование для специалистов: почему для бизнеса важна эффективность работы сервера

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


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

Помимо общей доступности – серверная инфраструктура также влияет и на скорость обработки запросов(время отклика). Высокопроизводительный сервер обрабатывает большее количество запросов за единицу времени и при этом демонстрирует низкую задержку в передаче данных. Слабый и маломощный же наоборот. Крупным компаниям важна скорость отклика(обработки запроса). Ведь именно она влияет на конверсию. Поэтому они и используют более мощные сервера для реализации собственных проектов.

Ну и, конечно, от выбранного сервера зависит и то, как будет распределяться нагрузка (CPU, RAM, IO) при выполнении рабочих задач. Высокопроизводительные распределяют ресурсы равномерно, предотвращая перегрузки и сбои. Что позволяет системе функционировать без перебоев(стабильно).А слабые и маломощные же наоборот. Поэтому специалисты ориентируются на более мощное серверное оборудование, которое подходит для длительного использования.

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

Возможные причины недостаточной эффективности

Факторы, негативно влияющие на эффективность сервера:

  1. Использование устаревших компонентов (процессора, RAM, SSD/HDD).
  2. Загрузка неподходящего программного обеспечения.
  3. Неправильная настройка серверного оборудования. Распространенные ошибки: слишком низкие значения max_connections; маленький пул потоков (thread pool).
  4. Использование неэффективного сетевого оборудования (маршрутизаторы, коммутаторы),
  5. Подключение неподходящих блоков питания. В серверах Altos, например, используются блоки с сертификатом 80 PLUS не ниже уровня Silver, что обеспечивает высокую энергоэффективность и стабильную подачу питания.
  6. Неправильный подход к хранению данных. Без кэширования одни и те же запросы обрабатываются снова и снова. А без резервного копирования можно потерять все, что необходимо для реализации проекта, например.
  7. Неэффективное распределение ресурсов и рабочей нагрузки.
  8. Отсутствие единого подхода к обеспечению безопасности.


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

Повышение эффективности

Рассмотрим основные способы повышения эффективности работы сервера, которые могут принести пользу как рядовым сотрудникам(системным администраторам, например), так и руководству компании:

  1. Обновление аппаратного обеспечения. Специалистам необходимо перейти к модернизации железа для достижения необходимого результата: замена устаревшего процессора и модуля памяти(RAM), переход с HDD на SSD, все это способствует повышению эффективности сервера. Следовательно, это и требуется сделать в первую очередь. Также важно убедиться, что блок питания соответствует стандартам энергоэффективности (например, 80 PLUS Silver и выше), а система охлаждения справляется с тепловой нагрузкой. Ведь подготовка, проверка и установка комплектующих не только поспособствует повышению эффективности сервера, но и продлит срок службы серверного оборудования.
  2. Точная настройка ОС. Для повышения эффективности сервера можно отключить лишние (фоновые) процессы, настроить использование ресурсов в соответствии с имеющимися приоритетами, оптимизировать загрузку служб и скорректировать параметры планировщика задач. Особое внимание следует уделить своевременному обновлению операционной системы и драйверов оборудования.
  3. Изменение подхода к хранению данных. Важно правильно организовать файловую систему, обеспечить эффективную работу RAID-массивов (если они используются), а также настроить резервное копирование и плановое тестирование дисков, чтобы повысить производительность серверного оборудования.
  4. Обновление программного обеспечения. Установка и загрузка свежих обновлений(патчей) тоже способствует бесперебойной работе серверного оборудования.
  5. Переход к виртуализации и контейнеризации. Современные технологии виртуализации и контейнеризации позволяют более эффективно распределять ресурсы сервера между различными службами и приложениями, что положительно влияет на его работоспособность. Поэтому их тоже не следует вычеркивать из списка.
  6. Внедрение систем мониторинга. Для поддержания работоспособности сервера важно внедрить системы мониторинга(Zabbix, Prometheus, Grafana), которые позволяют отслеживать загрузку процессора, использование оперативной памяти, температуру нагрева компонентов, состояние дисков и т.д. С их помощью можно заранее выявлять и устранять неполадки в работе серверного оборудования.

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

Как рассчитать необходимую мощность сервера?

Чтобы рассчитать необходимую мощность сервера следует определиться с целью его использования(размещение сайта, например). Учесть тип контента, который будет размещаться на ресурсе, а также его объемы. Это позволит вам выбрать серверное оборудование с подходящими характеристиками. Ведь компоненты(комплектующие) подбираются в соответствии с предполагаемой нагрузкой. Также не стоит игнорировать и данные о количестве пользователей, которые будут заходить на сайт или разворачивать БД.

Необходимо заранее определить, сколько человек будет заходить в день на информационный портал? (Например: 1000). Сколько из них могут быть одновременно на сервере? Обычно это 5-15% от суточного трафика. Пример: 1000 пользователей × 10% = 100 пользователей. Эти данные и примеры позволят вам определить уровень нагрузки на сам сервер. Также важно узнать, сколько запросов делает один пользователь в минуту для получения более точных результатов.

Пример: 2 запроса/мин × 300 КБ = 600 КБ/мин с одного человека. На 100 пользователей = 60 МБ/мин = ~1 МБ/сек трафика. Эти данные также помогут вам рассчитать нагрузку на сеть, память и диск.

После выполнения базовых расчетов можно переходить к выбору комплектующих(железа). Начать следует с процессора. Его выбор зависит от количества пользователей и сложности запросов.
Если один запрос обрабатывается за 100 миллисекунд, и всего таких запросов около 200 в минуту (например, 100 пользователей делают по 2 запроса), то это примерно 3 или 4 запроса в секунду. А это значит, что процессор с одним ядром может справиться примерно с 10 такими запросами в секунду. В нашем случае одного ядра может хватить, но необходимо учитывать фоновые процессы и возможное увеличение нагрузки. Поэтому для стабильной и быстрой работы подходит процессор с двумя или четырьмя ядрами, особенно если предполагается рост трафика. Далее следует оценить объем оперативной памяти (RAM). Например, простому сайту может хватить 2 ГБ, но если на сервере разворачивается база данных или приложение, то стоит заложить от 4 до 8 ГБ, чтобы не возникало проблем. Оперативная память влияет на скорость отклика при высокой нагрузке, особенно если пользователи активно взаимодействуют с сайтом или приложением.

После оперативной памяти следует заострить внимание на дисковой подсистеме. Учтите не только объем хранилища, но и скорость чтения и записи при выборе диска. Рекомендуется использовать SSD, особенно для сайтов с динамическим контентом(Хранишь 1 ГБ данных и 1 ГБ логов в день →
× 90 дней = 180 ГБ + запас = 240-300 ГБ ССД). Если требуется высокая отказоустойчивость, можно рассмотреть и RAID(технологию виртуализации данных для объединения нескольких физических дисковых устройств в один логический модуль).

Если вы уже определились с диском, то можно перейти к параметрам сети. На основе ранее сделанных расчетов (например, 1 МБ/сек трафика при 100 активных пользователях) можно понять, что пропускной способности канала в 10 Мбит/сек будет достаточно с небольшим запасом для развертывания БД, например. Однако если планируется увеличение количества пользователей, стоит предусмотреть канал от 100 Мбит/сек и выше. Еще важно учитывать входящий и исходящий трафик( особенно, если сервер используется для обмена данными с клиентами, API). Чем больше активных соединений и передаваемых данных, тем выше требования к сетевому интерфейсу.

Важно! Выбор конфигурации сервера зависит от приведенных ранее расчетов. Например, при 1000 ежедневных пользователях и 100 одновременных – вам потребуется:

  • CPU: 2-4 ядер.
  • RAM: 4-8 ГБ.
  • SSD-диск: от 100-200 ГБ (обязательно с запасом).
  • Сеть: от 100 Мбит/сек.
  • Резерв: 30-50% на рост предполагаемой нагрузки.

Если ты планируешь рост – подумай про горизонтальное масштабирование (докеры, кластер).

Схема расчета

Мини-схема расчёта:

  1. Определение нагрузки:
  • Кол-во пользователей в день:
  • Количество одновременных пользователей (10%):
  • Запросов на одного пользователя в минуту:
  • Объем одного запроса: 300 КБ.

Суммарно: 200 запросов/мин = 100 пользователей × 2.

Трафик: 300 КБ × 2 = 600 КБ/мин на одного(600 КБ × 100 = 60 МБ в минуту → 1 МБ/сек → нагрузка на сеть и диск).

  1. Выбор аппаратного обеспечения(подбор комплектующих).

Процессор (CPU):

  • Время обработки запроса: 100 миллисекунд.
  • Максимум запросов на 1 ядро: 10 в секунду.
  • Фактическая нагрузка: 3-4 запроса/сек.

Итого: хватит одного или двух ядер.

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

  • Минимум: 2 ГБ (для информационного портала).
  • Рекомендуется: 4-8 ГБ (если есть БД и приложение)

Диск:

  • Данные: минимум 1 ГБ/день.
  • Логи: 1 ГБ в сутки.

Итого за 90 дней:(1 + 1) × 90 = 180 ГБ(с учётом запаса: 240-300 ГБ SSD).

  1. Расчет параметров сети:
  • Текущая нагрузка: 1 МБ/сек = 8 Мбит в секунду.
  • Идеальный вариант: 100 Мбит/сек и выше (с запасом)

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

Дополнительное оборудование для повышения эффективности серверной инфраструктуры

Дополнительное оборудование для повышения эффективности сервера, это: графические процессоры (GPU NVIDIA или AMD), аппаратныеRAID-контроллеры, сетевые адаптеры(карты NIC 10GbE), хранилища(NAS, SAN, DAS), а также источники бесперебойного питания (ИБП). Все эти компоненты(комплектующие) можно докупить после проведения расчетов(определения необходимой мощности).

Заключение


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