Статьи
Портфолио
Друзья
Контакты

Последние статьи

24.02.2012 ZFConf 2012 пройдет весной в Москве! (0)

15.10.2011 Zend Framework Day 2011, 12 ноября, Киев (0)

27.09.2011 MSSQL, XML и PHP. Как заставить это работать из под *nix? (0)

Все

Категории

PHP (2)

Zend Framework (33)

Javascript (4)

Другое (13)

Книги (1)

Все

RSS

Статьи

Комментарии

Портфолио

Облако тегов

программирование  open search  портфолио  php  zend framework  Zend_Db  Smarty  Zend_Form  паттерны  javascript  niceforms  jQuery  Zend_Mail  веб  Google  Zend_Rest  Zend_View_Helper  zend casts  Zend_View  Zend_Layout  speedUp  интернет  Загрузчик фотографий  Flash  ВКонтакте  zend  localization  zend_translate  gettext  Я читаю  Книги  sphinx  софт  массовые рассылки  хранение данных 

Все

Статистика



Если Вам нужна машина напокат - для Вас прокат авто киев быстро и недорого.
Реклама: 1С бухгалтерия

Главная > Статьи > Zend Framework > «Surviving The Deep End» - Zend Framework. Часть III
27.01.11 «Surviving The Deep End» - Zend Framework. Часть III

Знания - Сила

Продолжение цикла переводов одной из частей книги «Surviving The Deep End» (первая часть, вторая часть). В этой части рассматриваются такие вопросы:

  • Как правильно провести общую оптимизацию PHP кода?
    • Кэширование байт-кода
    • Кэш Realpath

 



Общая оптимизация PHP кода


У РНР есть много хорошо известных и не очень способов оптимизации кода, которые сейчас приняты как стандартную практику. Лишь некоторые из них стали более заметны в течении развития языка.




Кеширование байт-кода


Используя кеширование байт-кода, например, Alternative PHP Cache (APC), можно добиться значительного повышения производительности любого РНР приложения, путем кеширования промежуточного кода, что предотвратит постоянный парсинг исходного кода.

 

При таком подходе разобранный код сохраняется в памяти и не разбирается заново при каждом запросе. Это сократит время работы скриптов. Установка и использование подобного ПО должно стать стандартной практикой, особенно если Вы пользуетесь обычным хостингом.

 



Установка APC довольно проста:
 
 Для установки на Windows пройдите на сайт http://pecl4win.php.net.

 



Для завершения установки необходимо настроить установленное расширение PHP в файле php.ini:
 

Приведенная конфигурация может дать самый разный эффект, поэтому для того, чтобы настроить все как требуется к прочтению рекомендуется документация http://php.net/manual/en/apc.configuration.php.

 

 

Особое внимание уделите таким опциям: apc.shm_size, apc.slam_defense (или apc.write_lock), apc.stat и apc.include_once_override. Вы должны убедиться, что параметр apc.shm_size установлен в минимальное значение, которого будет достаточно для кеширования всех Ваших классов (и всех других проектов, которые находятся на этом же сервере).

 

Также не забудьте посчитать туда еще и то, что Вы положите с помощью Zend_Cache или APC функций.

 

 

 

Realpath кеш


Одно из более инновационных улучшений в PHP это Realpath кеш, который был представлен с PHP 5.2.0. Решение было спроектировано для кеширования абсолютных путей к файлам, которые используются для функций require и include.

 

 

В предыдущих релизах было все по другому: каждый раз подключая файл по относительному пути, он разбирался вновь и вновь. Сейчас это делается один раз, записывается в кеш и храниться столько, сколько указанно в настройках. realpath_cache_size и realpath_cache_ttl две основные настройки. Первый задает величину кеша (по-умолчанию 16К, но стоит поставить побольше), а второй время его жизни (по-умолчанию 120, но можно поставить больше, в зависимости от того, как часто меняется расположение подключаемых скриптов).

 

Продолжение следует...

 

Предыдущие части:

  1. Первая часть
  2. Вторая часть
  3. Третья часть
  4. Четвертая часть
  5. Пятая часть

 

Теги:  переводы, zend framework

Другие категории:

■ PHP ■ Zend Framework ■ Javascript ■ Другое ■ Книги
Комментарии к статье
  Alex

31.01.11 11:29:47

всё зависит от структуры PHP приложения и даже от архитектуры сервера, прозводительность лучше мерять на месте

  illusive

31.01.11 13:01:00

В данном материале рассмотрены общепринятые приемы, которые для ZF приложений работают везде. Другое дело, это конечно насколько сильным будет эффект, а это да, Вы правы, замерять лучше всего на целевом сервере.

Оставить свой комментарий

 
Статьи | Портфолио | Друзья | Контакты
Идея и мозги: Васильев Андрей © 2008-2011 Web-Blog Кисточка и фантазия: Зелинский Богдан