Ускорение Apache/PHP с помощью APC

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #1
Введение

Кэширование - накопление данных в доступном хранилище, с целью их быстрого извлечения по мере надобности. Кэширование ускоряет процесса обработки информации.
APC (Альтернативный PHP кэш) это оптимизированный PHP кэш. Он хранит PHP страницы в оперативной памяти (RAM) и сокращает активность использования жесткого диска. Это делает реальную разницу в производительности HLX:CE, и вы можете достичь 50% увеличения пропускной способности системы и ваш процессор будет занят на 50% меньше.

Это руководство предназначено для установки APC на Windows и Linux серверах. Инструкция была протестирована на Windows XP x64 (XAMPP) и Ubuntu 8.04 LTS x64 сервер, также должны быть подходящими любые другие современные версии Windows и Linux в качестве сервера.

Установка

Сначала перед установкой APC, давайте узнаем информацию об установленном у нас PHP5. Для этого мы создадим файл info.php в корневой директории веб-папки сервера C:\xampp\htdocs в windows или /var/www в linux, или там где находиться ваша веб-папка, файл должен содержать следующие строки:
PHP:
<?php 
phpinfo(); 
?>
Далее перейдите по адресу (заменив mystats.com на ваш) http://mystats.com/info.php и вы должны увидеть что PHP 5.2.4 установлен...

phpinfo.png

вы должны посмотреть что APC нигде не упоминается на этой странице.


Установка APC Windows
Сохраните в папке расширений PHP, которая C:\XAMPP\PHP\Ext по умолчанию. Примечание: Убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включить расширение APC в C:\XAMPP\PHP\php.ini файл, отредактировав файл php.ini и добавив следующие строки в раздел расширений:

C-подобный:
extension = php_apc.dll
перезагрузите веб-сервер и снова откройте info.php в браузере http://mystats.com/info.php

Скачайте корректную бинарную версию под windows для версии PHP которая у вас установлена с http://downloads.php.net/pierre/ . Сохраните файл в папку раширений PHP extensions, которая в XAMPP по умолчанию c:\xampp\php\ext. Примечание: убедитесь, что вы выбрали правильное расширение для вашей версии PHP.

Включите APC расширение в файле c:\xampp\php\php.ini , редактируйте php.ini файл, а именно добавьте следующую строку в секции extensions:
C-подобный:
extension = php_apc.dll
Перезапустите ваш веб-сервер, и снова откройте info.php в браузере http://mystats.com/info.php

phpinfo_apc.png


Теперь вы должны увидеть APC указанным на странице, что означает, что он успешно интегрирован и работает так, как надо.


Установка APC Linux

APC может быть установлен в Linux с помощью PECL. PECL поставляется вместе с php-pear пакетом, сейчас мы установим его:

C-подобный:
apt-get install php-pear
Кроме того мы должны установить некоторые APC зависимости, чтобы PECL мог собрать APC:

C-подобный:
apt-get install php5-dev apache2-prefork-dev build-essential
Теперь когда установлены все зависимости мы можем приступить к установке APC следующим образом:

C-подобный:
pecl install apc
когда вы увидите:

C-подобный:
Use apxs to set compile flags (if using APC with Apache)? [yes]
подтвердите нажатием Enter.

Теперь когда APC установлен, мы создаём файл конфигурации /etc/php5/conf.d/apc.ini. Мы должны по крайней мере добавить строку extension=apc.so там; все остальные параметры конфигурации являются не обязательными. Вы можете найти список всех доступных параметров конфигурации по ссылке http://de2.php.net/manual/en/book.apc.php .

C-подобный:
nano /etc/php5/conf.d/apc.ini
и добавьте


C-подобный:
extension=apc.so
apc.enabled=1
apc.shm_size=30
через CTRL+X или CTRL-O сохраните и выйдите из редактора nano.

Вот и всё. Перезапустите Apache и всё готово:

C-подобный:
/etc/init.d/apache2 restart
Теперь откройте файл info.php еще раз в вашем браузере http://mystats.com/info.php

phpinfo_apc.png

Теперь вы должны увидеть APC указанным на странице, что означает, что он успешно интегрирован и работает так, как надо.

Оптимизация APC настроек

Чтобы проверить объем памяти, доступной для использования APC, запустите Editor и создайте текстовый файл с именем apcmeminfo.php. Скопируйте и вставьте следующие строки в этот файл:
C-подобный:
<?php 
print_r(apc_sma_info()); 
?>
apcmeminfo.png


в этом случаем мы видим объём доступной оперативной памяти, что составляет примерно 32Mb. (33.554.344 b / 1.000.000 = 33,55 MB)

Теперь редактируем файл /etc/php5/conf.d/apc.ini (Linux) и изменяем/добавляем:

C-подобный:
extension=apc.so
apc.enabled=1
apc.shm_size=32
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0
apc.file_update_protection=2
apc.optimization=0
или файл c:\xampp\php\php.ini (Windows)

C-подобный:
[APC]
apc.enabled=1
apc.shm_size=32
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0
apc.file_update_protection=2
apc.optimization=0
Перезапустите Apache для применения настроек:

C-подобный:
/etc/init.d/apache2 restart
или в windows используйте XAMPP panel.


Проверка работоспособности

Чтобы подтвердить, что произошло увеличение производительности, попробуйте выполнить следующие действия:
Отключите кэш в
/etc/php5/conf.d/apc.ini (Linux)
C-подобный:
extension=apc.so
apc.enabled=0 <---------!!!
apc.shm_size=32
apc.shm_segments=1
apc.gc_ttl=7200
apc.ttl=7200
apc.num_files_hint=1024
apc.enable_cli=0
apc.file_update_protection=2
apc.optimization=0
или c:\xampp\php\php.ini (Windows) добавив ; перед extension строкой

C-подобный:
;extension = php_apc.dll
и перезапустите веб-сервер.

Теперь используем ApacheBench, который входит в комплект установки Apache по умолчанию, используя командную строку следующим образом:

Linux

C-подобный:
ab -n 50 -c 1 -d http://mystats.com/hlstats.php
Windows

C-подобный:
c:\xampp\apache\bin\bin>ab.exe -n 50 -c 1 -d http://mystats.com/hlstats.php
Имейте в виду, нам нужно перезапускать Benchmark несколько раз с APC, что позволит получить правильный результат.

Успешного кэширования! :)
http://pecl.php.net/package/APC
 

Rt.

Участник
Сообщения
396
Реакции
119
все... решил проблему.... прописал то я все везде правильно, но вот плагины на css левые были
 

sas123

Участник
Сообщения
310
Реакции
224
У кого проблемы с установкой APC, юзаем XCache (PHP 5.3 support), тесты PHP акселераторов.
 

Rt.

Участник
Сообщения
396
Реакции
119
Не нашел подходящей темы для своего вопроса.
После установки apache 2.2 не могу правильно настроить файл конфигурации.
Проблема заключается в том, что при заходе в браузере на мой сайт у меня отображается дерево файло, находящихся в папке htdocs... как это спрятать?
 

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #5
Не нашел подходящей темы для своего вопроса.
После установки apache 2.2 не могу правильно настроить файл конфигурации.
Проблема заключается в том, что при заходе в браузере на мой сайт у меня отображается дерево файло, находящихся в папке htdocs... как это спрятать?
Либо в .htaccess добавить Options All -Indexes
Либо кинуть в эту папку файл index.html
 
  • Мне нравится
Реакции: Rt.

Rt.

Участник
Сообщения
396
Реакции
119
Andrey, куда делись картинки?
 

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #7
v1tl, сайт на котором они были уже не доступен)
 
Сверху Снизу