August 07, 2026 · by CLIQHOST
Выделенный сервер даёт вам полный контроль над аппаратными ресурсами — никаких соседей, никакого «шумного соседа». Однако даже мощное железо не раскроет свой потенциал без грамотной настройки операционной системы. В этом руководстве мы разберём конкретные шаги по оптимизации Linux-сервера для production-нагрузок.
Стандартная установка Linux настроена на универсальность, а не на максимальную производительность. Типичные проблемы без тонкой настройки:
Приведённые ниже рекомендации применимы к Ubuntu, Debian, AlmaLinux и другим популярным дистрибутивам.
Новые версии ядра Linux содержат важные улучшения производительности и патчи безопасности.
# Ubuntu / Debian
sudo apt update && sudo apt full-upgrade -y
# AlmaLinux / CentOS
sudo dnf update -y
Проверьте текущую версию ядра:
uname -r
Если вы используете управляемый выделенный сервер, обновления и патчи берёт на себя команда администраторов CLIQHOST.
Файл /etc/sysctl.conf позволяет изменять параметры ядра без перекомпиляции. Вот проверенный набор настроек для production-серверов:
sudo nano /etc/sysctl.conf
# Увеличиваем буферы TCP
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
# Включаем TCP BBR — современный алгоритм управления перегрузкой
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
# Сокращаем время ожидания TIME_WAIT
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
# Максимальное число открытых файлов
fs.file-max = 2097152
# Оптимизация виртуальной памяти
vm.swappiness = 10
vm.dirty_ratio = 15
vm.dirty_background_ratio = 5
Примените изменения без перезагрузки:
sudo sysctl -p
Совет:
vm.swappiness = 10заставляет ядро предпочитать RAM и обращаться к swap только при крайней необходимости — идеально для серверов с большим объёмом памяти.
Выбор правильного планировщика дискового ввода-вывода критически важен, особенно на серверах с NVMe.
Проверьте текущий планировщик:
cat /sys/block/sda/queue/scheduler
Для NVMe-дисков установите none (наименьшие накладные расходы):
echo none | sudo tee /sys/block/nvme0n1/queue/scheduler
Чтобы настройка сохранялась после перезагрузки, создайте правило udev:
sudo nano /etc/udev/rules.d/60-ioscheduler.rules
ACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/scheduler}="none"
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline"
Высоконагруженные приложения — Nginx, MySQL, Redis — требуют увеличенных лимитов на количество открытых файлов и процессов.
Отредактируйте /etc/security/limits.conf:
* soft nofile 1048576
* hard nofile 1048576
* soft nproc 65535
* hard nproc 65535
Для сервисов под управлением systemd добавьте в unit-файл:
[Service]
LimitNOFILE=1048576
LimitNPROC=65535
На серверах с RAM ≥ 64 ГБ управление большими страницами памяти влияет на производительность баз данных.
Проверьте состояние Transparent Huge Pages:
cat /sys/kernel/mm/transparent_hugepage/enabled
Для MySQL и PostgreSQL рекомендуется отключить THP — эти СУБД сами управляют распределением памяти:
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
На NUMA-системах (многосокетные серверы) привяжите критические процессы к конкретному узлу:
numactl --cpunodebind=0 --membind=0 /usr/bin/mysqld
Несколько ключевых параметров в nginx.conf существенно увеличат пропускную способность на неуправляемых выделенных серверах:
worker_processes auto; # Автоопределение числа ядер
worker_rlimit_nofile 1048576;
events {
worker_connections 65535;
use epoll;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
keepalive_requests 1000;
gzip on;
gzip_comp_level 5;
gzip_types text/plain text/css application/json application/javascript;
}
Любые изменения нужно измерять. Используйте следующие инструменты:
| Инструмент | Назначение |
|---|---|
htop |
CPU, RAM, процессы в реальном времени |
iostat -xz 1 |
Статистика дискового I/O |
ss -s |
Статистика TCP/UDP-соединений |
vmstat 1 |
Активность виртуальной памяти |
sar -n DEV 1 |
Сетевой трафик по интерфейсам |
Установите sysstat для доступа к iostat и sar:
sudo apt install sysstat -y # Debian/Ubuntu
sudo dnf install sysstat -y # AlmaLinux
Для продвинутого мониторинга с алертами подойдут Netdata или Prometheus + Grafana. Если вы предпочитаете делегировать мониторинг специалистам, услуга администрирования серверов CLIQHOST включает проактивный мониторинг и реагирование на инциденты.
Службы, запускающиеся автоматически, потребляют ресурсы даже если не нужны. Просмотрите список:
systemctl list-units --type=service --state=running
Отключите ненужные сервисы (например, bluetooth, avahi-daemon на headless-серверах):
sudo systemctl disable --now bluetooth.service
sudo systemctl disable --now avahi-daemon.service
Правильная настройка SSL/TLS не снижает производительность. Включите TLS 1.3 и OCSP Stapling в Nginx:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:50m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
Для получения надёжных сертификатов ознакомьтесь с предложением SSL-сертификатов на CLIQHOST.
Оптимизация выделенного сервера Linux — это итеративный процесс. Настройка ядра, выбор правильного планировщика I/O, увеличение системных лимитов и постоянный мониторинг вместе дают ощутимый прирост производительности.
Если вы хотите начать с уже оптимизированной инфраструктуры или передать техническое обслуживание профессионалам, изучите линейку выделенных серверов CLIQHOST или свяжитесь с нами через страницу контактов — подберём решение под вашу задачу.
Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.
"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."
"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."
"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."