Файл конфигурации для скрипта PHP-сервера - PullRequest
1 голос
/ 24 мая 2010

Сейчас у меня очень большой объем запросов, поступающих на мой веб-сервер, которые выполняют скрипт PHP CGI.

Каждый из этих сценариев открывает созданный мной файл конфигурации для загрузки параметров запуска сценария.

Выполнение операции ввода-вывода файла каждый раз, когда поступает запрос, кажется мне очень ресурсоемким. Я не слишком знаком с расширенными возможностями PHP, есть ли альтернативы для достижения того, что я делаю?

Ответы [ 3 ]

3 голосов
/ 24 мая 2010

кажется или у вас профилировано ваше приложение и вы обнаружили, что это включает худшее узкое место?

1 голос
/ 24 мая 2010

Вот несколько идей для вас:

  • Вы можете поместить данные в сеанс, который может хранить данные для каждого пользователя.

  • В качестве альтернативы вы можете кэшировать параметры в памяти, используя такой инструмент, как memcached .

  • В качестве альтернативы вы можете поместить параметры конфигурации в файл PHP, а не в файл конфигурации. Это упростит синтаксический анализ и позволит также кэшировать, если вы используете такой инструмент, как eAccelerator, который автоматически кэширует скомпилированные сценарии PHP.

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

0 голосов
/ 24 мая 2010

Полковник Шрапнель прав. Доступ к одному файлу не очень дорогой. Помните, что у вас есть доступ к файлу для КАЖДОГО сценария .php, из которого состоит ваше приложение.

Если ваш файл конфигурации имеет формат parse_ini_file (), не беспокойтесь. Разбор это даже быстрее, чем PHP-скрипт. Однако, если вы используете кэш кода операции, вы можете превратить ваш скрипт конфигурации в скрипт массива / данных PHP. Таким образом, дисковый ввод / вывод становится избыточным, поскольку ваш кэш кода операции сохраняет байт-код Zend в памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...