Швидка оптимізація налаштувань веб сервера

Швидка оптимізація налаштувань веб сервера

Як збільшити продуктивність сервера на ОС CentOS. Частина третя. Швидка оптимізація налаштувань веб сервера.

У даній статті ми розповімо, як збільшити продуктивність сервера (виділеного або віртуального) на прикладі ОС CentOS за допомогою швидкої оптимізації налаштувань веб сервера Nginx і Apache (httpd).

Матеріал орієнтований на користувачів з невеликим багажем знань в області адміністрування, ми розглянемо найпростіші, і в той же час дієві, способи підвищення продуктивності сервера.

Оптимально працювати з сервером по SSH, але якщо Ви відчуваєте складності в роботі з SSH - можете відкривати файли через менеджер файлів панелі управління. (Інструкція по роботі з SSH в першій частині цієї статті, тут)

Оптимізація налаштувань веб сервера Apache (httpd).

Конфігураційний файл веб сервера Apache знаходиться за наступним шляхом:

У цьому файлі обов'язково потрібно налаштувати обмеження по кількості одночасно запущених процесів веб сервера. Для цього знайдіть в ньому рядок MaxClients. блок повинен виглядати приблизно так:

StartServers 5
MinSpareServers 5
MaxSpareServers 20
MaxClients 256
MaxRequestsPerChild 0

Maxclients необхідно вирахувати, спираючись на кількість оперативної пам'яті, встановленої на Вашому сервері. Також слід врахувати кількість пам'яті, що використовується одним процесом веб сервера. Дізнатися кількість споживаної пам'яті одним процесом веб сервера можете за допомогою утиліти top. інструкція по використанню в нашій базі знань тут.

Далі відрахуйте 2 \ 3 від загальної кількості оперативної пам'яті Вашого сервера і розділіть на кількість пам'яті, споживаної одним процесом веб сервера. Отримане число і буде оптимальне значення MaxClients.

Наприклад, маємо сервер з 8 Гб оперативної пам'яті. 2 \ 3 від 8 буде 5.3 Гб. Один процес веб сервера зазвичай споживає близько 40 Мб пам'яті. Вважаємо 5300мб \ 40Мб. отримуємо 132. Краще округляти в меншу сторону. Ми залишаємо значення 130, в результаті блок конфігураційного файлу повинен мати такий вигляд:

StartServers 5
MinSpareServers 5
MaxSpareServers 20
MaxClients 130
MaxRequestsPerChild 0

Також включіть KeepAlive, для цього знайдіть в файлі конфігурації рядок:

Змініть Off на On:

Після внесення змін перезавантажте веб сервер командою:

service httpd restart

Оптимізація налаштувань веб сервера Nginx.

Конфігураційний файл веб сервера Nginx знаходиться за наступним шляхом:

У ньому необхідно вказати кількість процесів Nginx. Зазвичай цей параметр залежить від кількості ядер процесора, які доступні для Вашого сервера. За це відповідає директива worker_processes, в файлі конфігурації це виглядає так:

user apache;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes 4;

Як бачите, кількість процесів Nginx налаштоване для 4х ядер процесора. Якщо Ваш сервер обробляє дуже багато сполук, можете збільшити це значення на половину, якщо встановити більше значення - це буде в збиток продуктивності.

Далі, до секції httpd <нужно добавить такой блок :

worker_rlimit_nofile 65536;
events <
use epoll;
worker_connections 65536;
>

Це збільшить обмеження для Nginx за кількістю оброблюваних файлів і поліпшить його роботу. Якщо у Вашому файлі конфігурації вже прописані worker_rlimit_nofile або worker_connections - видаліть їх, залиште тільки блок, як на зразку.

В результаті початок конф-го файлу повинна виглядати таким чином:

user apache;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes 4;

worker_rlimit_nofile 80000;
events <
use epoll;
worker_connections 65536;
>

http <
include /etc/nginx/mime.types;
default_type application / octet-stream;

log_format main '$ remote_addr - $ remote_user [$ time_local] "$ request"'
'$ Status $ body_bytes_sent "$ http_referer"'
' "$ Http_user_agent" "$ http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

І так далі. Якщо на сервері спостерігається підвищене навантаження на диск - відключіть лог доступу, за це відповідає настройка access_log, встановіть її значення таким:

Додайте цей код на наступному рядку після http <Чтобы это выглядело так :

use epoll;
worker_connections 65536;
>

include /etc/nginx/mime.types;
default_type application / octet-stream;

Якщо нижче в коді зустрічаються настройки Gzip - видаліть їх.

Після завершення налаштування, виконайте перезавантаження Nginx командою:

service nginx restart

Як збільшити продуктивність сервера на ОС CentOS. Частина перша. Установка Nginx.

Як збільшити продуктивність сервера на ОС CentOS. Частина друга. Установка прекомпілятора PHP Zend OPcache.

Якщо у Вас виникнуть труднощі в налагодженні і адмініструванні сервера - завжди можете звернутися в нашу службу технічної підтримки.

Схожі статті