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







