simplexml_load_file () факторы скорости - PullRequest
2 голосов
/ 27 июля 2010

Я работаю над веб-приложением, в котором у каждого пользователя есть несколько нелокальных XML-файлов, которые загружаются и анализируются через SimpleXML при каждой (повторной) загрузке страницы.Каждый запрос занимает в среднем чуть меньше секунды, однако при наличии более пяти или шести файлов (что вполне вероятно) время загрузки весьма заметно.Поэтому мой вопрос заключается в том, какие факторы влияют на скорость функции, и есть ли какой-нибудь способ, которым я мог бы контролировать и ускорять их?

Что касается чисто повышения эффективности, то заголовки http для проверки времени последнего обновления являются неточнымии я не думаю, что задания cron дадут мне «живые» результаты, которые я хочу получить.

Таковы факторы в основном на сервере, с которого я к ним обращаюсь, или они намоя сторона?Это сама функция?Очевидно, что размер файла влияет на скорость.Есть ли способ сжать его перед переносом, что ускоряет загрузку?

Ответы [ 2 ]

2 голосов
/ 27 июля 2010

Каковы ваши причины, почему они живут вживую? Не могли бы вы обновлять их каждые 15 минут?

Не могли бы вы Cron их и кэшировать их по 15 минут за раз?

Вы можете убедиться, что метод, который вы получаете от удаленного сервера, отправляет заголовки для принятия gzip (и вы можете дефлировать их на своем конце).

0 голосов
/ 27 июля 2010

Вы можете попробовать curl_multi_init () , если у вас установлен cURL. Он будет выполнять любое количество запросов параллельно, поэтому страница, которая использует 5 или 6 запросов, не должна быть намного медленнее, чем страница, использующая только 1 или 2, особенно если вы организуете свой код для запуска этих запросов в самом начале сценария. насколько возможно.

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

...