Огляд php-акселераторів з інструкціями по установці, php, статті, програмування -
У цій замітці розглянуті 3 хороших opensource php-акселатора: eAccelerator, APC і xcache з інструкціями по їх встановленню та налагодженню для Debian.
(У статті також наводяться керівництва по установці в ubuntu, але тут вони опущені, так як процес фактично не відрізняється. І ще я вніс власні невеликі поправки - прим. Перекладача)
eAccelerator
eAccelerator - це вільний opensource-проект, що виконує роль акселератора, оптимізатора і Розпакувальник. Також вбудовані функції динамічного кешування контенту. eAccelerator підвищує продуктивність роботи PHP-скриптів за рахунок кешування скомпільованої байт-коду, таким чином витрати на процес компіляції ліквідуються. Також він оптимізує скрипти для прискорення часу їх виконання. eAccelerator зазвичай знижує навантаження на сервер і збільшує швидкість роботи вашого коду в 1-10 разів.
Для складання eAccelerator вам необхідно встановити пакет php4-dev:
# Apt-get install php4-dev
Або, якщо ви використовуєте php5:
# Apt-get install php5-dev
Завантажте архів з вихідними кодами eAccelerator:
#tar jxvf eaccelerator-0.9.5.tar.bz2
#cd eaccelerator-0.9.5
Запустіть phpize для створення config-файлів, необхідних для збирання:
#phpize
#. / Configure -enable-eaccelerator = shared -with-php-config = / usr / bin / php-config
#make
#make install
Тепер необхідно відредагувати файл /etc/php4/apache2/php.ini для користувачів php4 і додати в нього такі параметри для підключення розширення:
extension = "eaccelerator.so"
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/ tmp / eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
Якщо ви хочете встановити його як розширення Zend, то необхідно відредагувати /etc/php4/apache2/php.ini наступним чином:
zend_extension = "/ usr / lib / php4 / eaccelerator.so"
eaccelerator.shm_size = "16"
eaccelerator.cache_dir = "/ tmp / eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
Якщо ви використовуєте thread-safe збірку PHP, то необхідно використовувати "zend_extension_ts" замість "zend_extension".
Якщо ви використовуєте php5, то редагуйте файл /etc/php5/apache2/php.ini
Створення cache-директорії
Останній важливий крок в налаштуванні акселератора - це створення директорії для кеша, ім'я якої ми задавали в конфіги. Значення за замовчуванням - / tmp / eaccelerator, тому що права на запис в папку / tmp зазвичай є у всіх користувачів
Не дуже хорошим рішенням буде залишати права на запис для всіх користувачів. Більш безпечним буде змінити власника директорії eaccelerator на користувача, від імені якого запущено PHP (в більшості випадків це web-сервер. Наприклад apache або lighttpd) і встановити на неї права 0644
#mkdir / tmp / eaccelerator
chown nobody: nobody / tmp / eaccelerator (вкажіть користувача PHP)
#chmod 0644 / tmp / eaccelerator
Перезапустіть web-сервер. На цьому настройка eAccelerator закінчена
Якщо ви бачите інформацію про eAccelerator, то все встановлено коректно.
Також ви можете використовувати наступну команду:
eAccelerator зберігає скомпілірований PHP-код спочатку в загальній пам'яті, потім на диску, весь час підтримуючи розмір використаної пам'яті оптимальним для продуктивної роботи додатків.
Alternative PHP Cache (APC)
APC - це відкритий і вільний оптимізатор кеша для php. Він був розроблений для забезпечення вільної, відкритої та надійної бази кешування та оптимізації проміжного коду PHP.
# Apt-get install apache2-threaded-dev php5-dev php5-pear make gcc g ++
Потім встановіть APC за допомогою pecl:
# Pecl install apc
Відредагуйте конфігураційний файл: