Налаштування деплою на Dedicated Server: конфігурація та оптимізація

Сайт гальмує під навантаженням, а виділений сервер не розкриває свій потенціал через неоптимальну конфігурацію? Ми налаштовуємо dedicated server під ключ: від апаратного RAID до оптимізації Nginx та PostgreSQL. Наша команда бере на себе весь цикл робіт і забезпечує стабільну роботу з подальшою підтримкою.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування деплою на Dedicated Server: конфігурація та оптимізація
Середній
~2-3 дні
Часті запитання

Сайт гальмує при навантаженні 500 RPS? Налаштування dedicated server — ключ до високої продуктивності. Правильна конфігурація dedicated server дозволяє уникнути вузьких місць. Ми спеціалізуємось на налаштуванні виділених серверів для максимальної швидкості. Отримайте консультацію інженера — зв'яжіться з нами.

Чому правильна конфігурація сервера критична?

Навіть потужний сервер з 128 GB RAM та NVMe-дисками може демонструвати затримки, якщо не налаштувати системні параметри. Типова помилка — дефолтні ліміти файлових дескрипторів (1024) при навантаженні в тисячі з'єднань. Або вимкнений кеш (опкеш) для PHP-додатків. Ми виправляємо такі проблеми на етапі налаштування.

Для оптимізації I/O пропускної здатності ми налаштовуємо параметри блокування та планувальник I/O (deadline, none). Також важливо налаштувати TCP стек для запобігання маршрутизації пакетів на великих відстанях.

Рекомендовані конфігурації для різних навантажень

Навантаження CPU RAM Диски
До 1000 RPS 4 vCPU 16 GB 2× 240 GB SSD
1000-10000 RPS 8 vCPU 64 GB 2× 480 GB NVMe
>10000 RPS 2× Xeon (16 cores) 128 GB 2× 960 GB NVMe

Для проектів з базою даних PostgreSQL рекомендуємо не менше 64 GB RAM.

Як вибрати RAID-рівень?

RAID 1 забезпечує дзеркалювання — при відмові диска система продовжує роботу. RAID 10 (або RAID 0 для даних) дає максимальну швидкість читання/запису. Для кореневого розділу використовуємо RAID 1, для даних — RAID 10, якщо дисків більше двох. Налаштування виконується через mdadm:

# Перевірити диски
lsblk
fdisk -l

# Створити RAID 1 для кореневого розділу
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
mkfs.ext4 /dev/md0

# RAID 10 для даних (4 диски)
mdadm --create /dev/md1 --level=10 --raid-devices=4 \
  /dev/sdc /dev/sdd /dev/sde /dev/sdf

Докладніше про RAID можна прочитати в Wikipedia.

Порівняння RAID-рівнів для веб-сервера

Рівень Відмовостійкість Швидкість запису Використання дисків
RAID 0 Немає ✦✦✦✦✦ 100%
RAID 1 1 диск ✦✦✦ 50%
RAID 5 1 диск ✦✦✦ 67-94%
RAID 10 до 50% дисків ✦✦✦✦✦ 50%

RAID 10 перевершує RAID 5 у 3 рази за швидкістю запису, тому для даних обираємо його.

Приклад конфігурації для 10 000 RPS

Для проекту з навантаженням 10 000 RPS ми рекомендуємо:

  • CPU: 2× Intel Xeon E5-2670 (16 cores / 32 threads)
  • RAM: 128 GB DDR4 ECC
  • SSD: 2× NVMe 960 GB (RAID 1 для OS, RAID 0 для даних)
  • Network: 1 Gbps Unmetered

Оптимізація системи та стеку

Системні параметри

Оптимізуємо системні параметри: збільшуємо ліміти файлових дескрипторів, налаштовуємо мережевий стек, вимикаємо своп. Типові налаштування:

# /etc/sysctl.conf та /etc/security/limits.conf
net.core.somaxconn = 65536
net.core.netdev_max_backlog = 65536
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 10240 65535
fs.file-max = 2097152
vm.swappiness = 10
* soft nofile 1048576
* hard nofile 1048576
root soft nofile 1048576

Nginx

# /etc/nginx/nginx.conf
worker_processes 8;
events {
    worker_connections 4096;
    use epoll;
    multi_accept on;
}
http {
    keepalive_timeout 65;
    keepalive_requests 1000;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
}

PHP-FPM та OPcache

; /etc/php/8.3/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500

[opcache]
opcache.enable = 1
opcache.memory_consumption = 512
opcache.max_accelerated_files = 20000
opcache.validate_timestamps = 0

PostgreSQL

Налаштування PostgreSQL критичне: shared_buffers = 25% RAM, effective_cache_size = 75% RAM, random_page_cost = 1.1 для SSD. Приклад для 128 GB RAM:

shared_buffers = 32GB
effective_cache_size = 96GB
maintenance_work_mem = 2GB
work_mem = 128MB
wal_buffers = 64MB
checkpoint_completion_target = 0.9
max_wal_size = 4GB
random_page_cost = 1.1
effective_io_concurrency = 200

Процес налаштування сервера

  1. Аудит поточної конфігурації — якщо сервер вже використовується, аналізуємо метрики та логи.
  2. Встановлення ОС (Ubuntu LTS або Debian stable) з налаштуванням RAID та файлової системи ext4.
  3. Встановлення та оптимізація веб-стеку — Nginx, PHP-FPM, PostgreSQL.
  4. Налаштування безпеки — брандмауер (ufw), fail2ban, SSL-сертифікати (Let's Encrypt).
  5. Інтеграція моніторингу — Prometheus + Grafana, Zabbix для сповіщень, Sentry для помилок.
  6. Автоматизація бекапів та деплою (Ansible / GitLab CI).
  7. Передача документації та навчання вашій команді.

Що входить у роботу

  • Документація: опис конфігурації, інструкції з резервного копіювання та відновлення, деплой.
  • Доступи: передача логінів до сервера, моніторингу, бекендів.
  • Навчання: 2 години відеодзвінка для вашої команди.
  • Підтримка: 30 днів безкоштовної підтримки після здачі (оцінено в $500).

Терміни та вартість

Налаштування виділеного сервера з нуля (OS, RAID, стек, SSL, моніторинг) — від $400. Оптимізація під конкретне навантаження — від $250. Вартість розраховується індивідуально залежно від складності. Неправильне налаштування може коштувати до 40% продуктивності. Правильна конфігурація окупається за 2-3 місяці за рахунок зниження latency та збільшення пропускної здатності — це в 2 рази швидше, ніж типова помилка.

Чому обирають нас

Більше 10 років досвіду в налаштуванні dedicated server. Сертифіковані інженери з Linux та PostgreSQL. Гарантія 30 днів на виконані роботи. Виконали понад 50 проектів з міграції та оптимізації інфраструктури. Типові помилки, які ми виправляємо: не налаштований своп (своп на SSD вбиває ресурс комірок), дефолтні ліміти (призводять до помилок "Too many open files"), неправильний RAID-рівень (RAID 5 на SSD дає низьку швидкість запису), відсутність моніторингу (проблеми виявляються тільки при падінні). Замовте аудит вашого сервера — ми виявимо вузькі місця та запропонуємо оптимальну конфігурацію. Зв'яжіться з нами для консультації.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060