≡ Menu

Как да Оптимизираме нашият VPS сървър

оптимизиране на VPS сървърКак да направим добро оптимизиране на нашият VPS сървър

Напоследък все повече собственици на сайтове се насочват към използването на VPS вместо стандартният споделен хостинг.

Повечето от тези хора обаче нямат идея как точно да настроят VPS-a си така че той да има максимална производителност. Ето защо ние от решихме да ви помогнем с няколко съвета от нашите експерти по VPS Hosting.

  1. Оптимизация на Apache.

Най-важната част при оптимизирането на VPS е именно Apache сървъра. Тук най-важният фактор е с колко памет разполага вашата виртуална машина. Защото това пряко влияе на някой от директивите в конфигурационният файл на apache (httpd.conf).

Първо нека проверим колко памет използва Apache:

ps auxf | grep httpd | awk ‘{sum=sum+$6}; END {print sum/1024}’

В някой операционни системи като Debian и Gentoo процеса на Apache се нарича apache2 за тях ползваме:

ps auxf | grep apache2 | awk ‘{sum=sum+$6}; END {print sum/1024}’

Така след като имаме някаква идея колко памет общо използва Apache нека видим и колко памет по отделно ползва всеки процес:

ps -ylC httpd –sort:rss

Отново за Debian и Gentoo:

ps -ylC apache2 –sort:rss

След като имаме тази информация вземаме най-високата стойност на последната команда за RSS това е осмата колонка и делим реалната RAM памет на нашият VPS на това число.

Пример:

ps -ylC apache2 –sort:rss

S   UID   PID PPID C PRI NI   RSS   SZ WCHAN TTY         TIME CMD

S   33 31951 31945 0 78 -2 2820 5680 –     ?       00:00:00 apache2

S     0 31945     1 0 78 -2 10232 10381 –     ?       00:00:00 apache2

S   33 31046 31945 0 78 -2 18648 13063 –     ?       00:00:07 apache2

S   33 16403 31945 0 78 -2 19016 13000 –     ?       00:00:07 apache2

S   33 16404 31945 0 78 -2 19636 13175 –     ?       00:00:07 apache2

Max RSS: 19636 KB

Total RAM: 512 MB или 524288 KB

Max Clients= Total RAM/Max RSS

Max Clients= 524228/19636= 26

Така значи вече имаме стойността за Max Clients=26

Настройките които нас ни интересуват са:

Timeout 300

KeepAlive On

MaxKeepAliveRequests 200

KeepAliveTimeout 15

MinSpareServers 5

MaxSpareServers 15

StartServers 5

MaxClients 20

MaxRequestsPerChild 2000

HostnameLookups Off

Нека да започнем с всяка една по отделно

Timeout 300

Тази настройка показва след колко секунди една връзка ще бъде разкачена с изтичане на времето. Хубаво е да сложим тази настройка на някаква по ниска стойност примерно 15.

KeepAlive On

Тази настройка определя дали връзките да се пазят живи. Принципно това подобрява производителността на машината. Но е за сметка на използваната памет.

MaxKeepAliveRequests 200

Броят на елементите който могат да се изтеглят едновременно по една KeepAlive връзка. Препоръчителната стойност тук е 50.

KeepAliveTimeout 15

Времето за което една KeepAlive връзка е активна от Apache препоръчват стойност 1 на този елемент но нашите експерти препоръчват 2. За това слагаме стойност 2.

MinSpareServers 5

Минималният брой под процеси който да има Apache. Препоръчваме стойност 1.

MaxSpareServers 15

Максималният брой под процеси който да има Apache. При нашият VPS с 512MB RAM тази стойност е 25.

StartServers 5

Броят на сървърите с който да стартира Apache при рестарт. Препоръчителна стойност 1.

MaxClients 20

Максималната стойност на едновременни връзки към сървъра. Както вече сметнахме идеалната стойност е 26.

MaxRequestsPerChild 2000

Максималният брой запитвания преди един процес да бъде убит. Препоръчваме тази стойност да бъде поставена ниско около 200.

HostnameLookups Off

Тази настройка значително подобрява скоростта на зареждане на вашите страници.

Така след като описахме подробно всички променливи ето и нашите препоръчителни стойности за web сървър с 512 RAM:

Timeout 15

KeepAlive On

MaxKeepAliveRequests 50

KeepAliveTimeout 2

MinSpareServers 1

MaxSpareServers 25

StartServers 2

MaxClients 25

MaxRequestsPerChild 200

HostnameLookups Off

  1. Оптимизация на Mysql

Има няколко важни променливи който ще променим.

max_connections

Максималният брой едновременни връзки към базата данни. По начало тази настройка е сложена на 125.

wait_timeout

Времето за което изтича една връзка нашата препоръчителна стойност е 7000.

thread_cache_size

Нашата препоръчителна стойност тук е 286.

table_cache

Препоръчителната стойност тук е 4000.

key_buffer_size

Препоръчителна стойност 32М

query_cache_size

Препоръчителна стойност 12М

tmp_table_size

Препоръчителна стойност 16М

Така значи ето какви промени трябва да направим в нашият /etc/my.cnf

В секцията [mysqld] добавяме:

wait_timeout = 7000

thread_cache_size = 286

table_cache   = 4000

key_buffer_size = 32M

query_cache_size = 12M

tmp_table_size = 16M

Това е оптимизацията на Mysql.

Като цяло оптимизацията на един сървър никога не е лесна задача за това трябва да сте сигурни че знаете какво правите.

Нашите специалисти ви дадоха точни и ясни насоки как да настройте вашите сървъри.

Това което трябва да имате в предвид е че VPS сървърите който предлага повечето хостинг компании са точно така оптимизирани и настроени.

{ 0 comments… add one }

Leave a Comment

error: Content is protected !!