Същността на проблема лежи в това, че сървърът работи, онлайн игра, написана на PHP.
Така вид и мощен сървър и не е писано в тромавите ръце, но сървърът е затаил дъх, още малко и наистина лъже. Невъзможно е да се работи, дори и конзолни спирачки.
Погледнато натоварване, тя се преобърне средно натоварване: 10.54, 10.28, 9.96
Мислех, че, как мога да го оправя. За да се оптимизира работата на този сайт, че е необходимо да се разбере как PHP.
Фактът, че PHP не е просто скрипт с инструкции за дадена програма. Същността му се състои в това, че всеки сценарий преминава през няколко етапа, преди резултатът за връщане:
- Сценарият е преведен на байткод
- извършва
- резултат О сървъра
Вторият и третият курс, но първият е познат на програмистите до по-сложни езикови от PHP. Байткод вече е набор от инструкции, всеки еквивалентен на една или повече инструкции за монтаж. Този код работи в десетки пъти по-бързо от един скрипт, който работи програмата. Само един проблем за превод на сценария в байт код консумира много ресурси за един сценарий, разбира се, това са глупости, но когато има десетки и стотици пътувания до сървъра, че ресурсите на сървъра след това вече започват да се използват в nemerenoe количества.
Има начин. За да не се губи ресурси за постоянно превода сценария в байт код, можете да съхранявате често използваните скриптове вече са в такова състояние, че да намали значително разхода на сървъра ресурс.
За да направите това, има много програми, реших да използвам един от тях - това eAccelerator.
Това е удобно, лесно конфигуриране модул за PHP.
Инсталиране eAccelerator
И така, започнете инсталацията. Свържете се със сървъра чрез SSH добре, или ако има пряк достъп, отворете конзолата.
Аз създадете папка / ЮЕсАр / местни / eAccelerator. , в който работим и да го давате
Отидете до директорията eaccelerator-0.9.5.3:
Вариант -с-eaccelerator споделен-памет е необходима, за да може да се използва API eAccelerator. Пълният списък от опции.
Всъщност сега модулът е готов и инсталира в папката / ЮЕсАр / ИЪ / PHP / модули /. в което са монтирани всички модули на PHP
Сега е време да се свържете модула и го конфигурирате, отколкото току-що.
Файлове за свързване на PHP модули са php.d. папка При изтегляне на Apache, което чете всички фаловете с разширение INI тази папка.
Описание на основната конфигурация атрибути eAccelerator
Размер на кеша общата памет разположен в мегабайта.
Директория за кеша на диска. eAccelerator магазини указаното двоично представяне на кода на сесията и други данни.
Тази опция може да се включва и изключва eAccelerator. Стойността 1 - за, 0 - изключен.
Това показва времето в секунди, след което не се използва за дълъг код, за да бъде изтрита от общата памет при надвишаване на размера на паметта разпределени.
По подразбиране тази опция е изключена, препоръчваме да зададете стойност 60-300 с голям брой файлове и 900-1800 с малък брой файлове.
Когато eAccelerator няма достатъчно налична памет, той се опитва да изтрие информацията от старите, ако предишния опит е направен преди повече "shm_prune_period" секунди. Стойността по подразбиране е "0", в която eAccelerator няма да се опитате да премахнете стари данни от паметта.
Параметрите показват възможните начини за водене eAccelerator кеш.
Възможните стойности са:
- shm_and_disk - кеш данни в споделена памет и на диска (по подразбиране);
- SHM - кеш данни в споделена памет или на диск, ако е споделена памет или размер по-голям от данни "eaccelerator.shm_max";
- shm_only - кеш данни в споделена памет;
- disk_only - от кеша на диска;
- никой не се кешират данните.
Сега създадете папка за кеш паметта, която е посочено в eaccelerator.cache_dir на директива - / TMP / eaccelerator и я дава право за записване
Всъщност настройка е завършена, сега рестартирайте Apache:
заключение
Всъщност, това, което го е дал. Аз всъщност наистина не очаквах такъв резултат, но натоварването на сървъра се намалява десетократно.
средно натоварване: 0.91, 0.88, 0.72
Свързани статии