Оптимизация производительности Zend Config - PullRequest
1 голос
/ 27 октября 2011

Я оптимизирую приложение на основе Zend Framework, и я уверен, что использование конфигурации на основе ini замедляет общую производительность, так как сайты должны читать и анализировать ini при каждом запросе страницы.Теперь у меня есть 2 идеи, чтобы разобраться с ситуацией

  • Кэшировать ini-файл или кешировать объект zend_config и использовать его из кеша
  • Или преобразовать конфигурацию на основе ini в php

Я не уверен, какой подход обеспечивает лучшую производительность.Я буду изменять свою конфигурацию в будущем, если потребуется, и мне не нужна функция записи конфигурации обратно в ini.Поэтому, пожалуйста, предложите, какой подход лучше для экстремальной производительности.В кеш-подходе это просто десериализация уже существующего объекта, в то время как в массиве php это конструирование объекта с нуля.

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Кэшируйте ini-файл или кешируйте объект zend_config и используйте его из кеша

это правильный выбор.

отметьте это кэш application.ini

0 голосов
/ 27 октября 2011

Cache!

Пояснение:

Если вы преобразуете его в объект php, вы просто обмениваетесь синтаксическим анализатором, и учтите: PHP имеет много конструкций, и создание AST даже отдаленно не просто для этого языка.

С кешем ваши данные, скорее всего, будут храниться в памяти, и поэтому вашему жесткому диску не придется выполнять какие-либо операции ввода-вывода для получения объекта настроек при каждом запросе. Таким образом, даже синтаксический анализ или десериализация могут быть обработаны намного быстрее, и помните, что это также сделает интерпретатор PHP.

Последний намек:

Если вы боитесь, что ваши ini-файлы слишком долго разбираются, возможно, вы могли бы нарезать файл конфигурации и, и не всегда, загружать все настройки?

...