www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Мониторинг  

Какая задача мониторинга отнимает больше всего времени?

Многие системные администраторы тратят до 30% рабочего времени на рутину мониторинга. Но

 Читать далее...

Рынок труда  

Какие навыки вы хотите развивать в 2026 году?

Рынок труда меняется быстро. Еще вчера его называли рынком соискателей, а сегодня

 Читать далее...

Книжная полка  

От сисадмина до архитектора: книги, которые прокачают ваш стек в этом году

Новинки от издательства «БХВ» отличаются тем, что в них часто делается упор

 Читать далее...

Автоматизация  

Автоматизируем рутину: что реально работает?

Многие сисадмины автоматизировали что-то за последний год. Но далеко не все остались

 Читать далее...

Защита ИТ-системы  

Практическая защита: что вы внедрили и что мешает?

Какие меры безопасности реально внедрить в реальных условиях – и что не

 Читать далее...

Вопрос-ответ  

Обеспечиваем безопасную эксплуатацию базы данных

Что для вас чаще всего является причиной инцидентов с БД? Как вы

 Читать далее...

Книжная полка  

От «безопасного» Linux до Контролируемого взлома

Издательство «БХВ» продолжает радовать читателей интересными новинками и в наступившем году. Вы можете

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 13423
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 13529
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 10989
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 5890
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 6737
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 6611
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 9454
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 6064
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 6277
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 10441
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 13892
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 15368
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 17675
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 12529
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 10538
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 8744
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 7348
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 6157
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 5779
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 6091
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Оптимизация работы PHP при помощи PHPAccelerator

Архив номеров / 2004 / Выпуск №6 (19) / Оптимизация работы PHP при помощи PHPAccelerator

Рубрика: Веб /  Веб

АНДРЕЙ УВАРОВ

Оптимизация работы PHP
при помощи PHPAccelerator

В статье «Кэширование веб-сценариев» февральского номера журнала была затронута тема оптимизации сайтов. Рассмотренный способ является несколько трудоёмким. Одним из более эффективных решений является  PHPAccelerator. О нём, собственно, и пойдет разговор в данной статье.

Итак, что же такое PHPAccelerator (PHPA)? Это расширение, подключаемое к PHP-компилятору, которое за счёт кэширования ускоряет работу скриптов. В вышеупомянутой статье мы ускоряли работу скриптов за счёт кэширования их вывода, но в данном случае кэширование подразумевает устранение чтения кода, его грамматического разбора, компилирования, многих операций выделения памяти и копирования, а также, отчасти, дисковых операций. Очень важно, что для кэширования скриптов мы не должны изменять каким-либо образом код. Это является большим плюсом и экономит наше время, по сравнению с организацией кэширования скриптов вручную. Находится PHPAccelerator по адресу: http://php-Accelerator.co.uk и является полностью бесплатным. В настоящий момент существуют версии для платформ: Linux, OpenBSD, FreeBSD, BSDi и Solaris. Возможно, в будущем в этот список будет включена и Windows. Стоит также заметить, что PHPAccelerator совместим только с веб-сервером Apache, но как надеются разработчики, будет осуществлена поддержка и для других веб-серверов, из которых следующим является Zeus.

Установка PHPAccelerator даже для неискушённого пользователя представляет собой дело весьма простое. Скачав архив с нужной версией и распаковав его, мы получаем несколько файлов характера «readme», phpa_ cashe_admin и собственно саму библиотеку с названием вроде «php_accelerator_1.3.3r2.so». Для установки необходимо скопировать эту библиотеку в то место, где, по вашему мнению, она должна находиться, обычно это /usr/local/lib (лично мне больше нравится /usr/local/lib/phpa). В качестве следующего шага необходимо добавить в файле php.ini полный путь к месту, где находится PHPAccelerator.

Например:

zend_extension=/usr/local/lib/phpa/php_accelerator_1.3.3r2.so

по причине того, что PHPAccelerator не является модулем, используется параметр zend_extension.

Если вы используете модуль «dbg.so», то для корректной работы вам скорее всего придётся его отключить, так как он является несовместимым с PHPAccelerator. Для того чтобы все совершённые нами изменения вступили в силу, необходимо перезагрузить веб-сервер. Как и было обещано, установка не представила никаких трудностей.

После инсталляции возникает вопрос: «А как проверить, работает ли PHPAccelerator?».

Существует несколько способов проверить вызывающий у нас сомнения факт.

Способ 1

При работе PHPAccelerator добавляет к HTTP-заголовку ответа параметр: X-Accelerated-By. Вы можете проверить это, выполнив команду HEAD.

Например:

[dashin@dashin home]HEAD http://dashin/test.php

200 OK
Connection: close
Date: Sun, 01 Feb 2004 06:21:34 GMT
Accept-Ranges: bytes
Server: Apache/2.0.40 (ASPLinux)
Content-Type: text/html; charset=ISO-8859-1
Client-Date: Sun, 01 Feb 2004 06:21:34 GMT
Client-Response-Num: 1
X-Accelerated-By: PHPA/1.3.3r2
X-Powered-By: PHP/4.2.2

Способ 2

Дело в том, что если PHPAccelerator установлен, то в массиве $GLOBALS создаётся ключ _PHPA. Вот пример простого скрипта, выводящего содержимое этой переменной:

<?php

   var_dump($GLOBALS['_PHPA']);

?>

Если всё в порядке, то результат должен быть примерно следующим:

array(3) {

  ["ENABLED"]=>

  bool(true)

  ["iVERSION"]=>

  int(10302)

  ["VERSION"]=>

  string(5) "1.3.2"

}

В противном случае будет выведено «NULL». Чтобы определить, в чём заключается неисправность, заглянем в error_log (error_log является местом, куда веб-сервер сохраняет сведения о возникающих ошибках и некоторую другую служебную информацию, обычно этот файл располагается в каталоге /var/log/httpd). Наличие сообщения, подобного следующему:

Failed loading /usr/local/lib/phpa/php_accelerator_1.3.3r2.so:
/usr/local/lib/phpa/php_accelerator_1.3.3r2.so: undefined symbol: _ecalloc

свидетельствует о несовместимости PHPAccelerator с установленной версией PHP. В этой ситуации вам необходимо скачать нужную версию PHPAccelerator и заменить ей старую. Это решит возникшую перед вами проблему.

Установив PHPAccelerator, уже можно наслаждаться повышением быстродействия. Ознакомиться с тестами производительности, можно по адресу: http://www.php-accelerator.co.uk/perfomance.php.

Но, как говорится, нет предела совершенству. Вы можете самостоятельно изменить настройки посредством добавления соответствующих ключей в файл php.ini и присвоения им нужных вам значений. Таким образом, можно определить файлы или каталоги, которые не должны подвергаться кэшированию, установить промежуток времени, через который будет осуществляться чистка кэша (чистка кэша заключается в удалении кэшированных файлов, срок жизни которых истёк, т.е. тех, которые не использовались дольше установленного времени). Более подробно о настройке говорить не стоит, так как всё очень подробно описано в файле CONFIGURATION, поставляемом вместе с PHPAccelerator, да и особых трудностей возникнуть не должно.

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


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru