Суть:
Предположим есть массив foreach на PHP.
В нем выполняется от 40 до 80 раз функция file_get_contents. Подгружает JSON данные. Они сами по себе маленькие.
Мне надо каждые 5 секунд юзать данный массив.
Скрипт расположен на сервере с ОЧЕНЬ быстрым интернетом. Среднее время выполнения при обращении из браузера: 25.078058004379 (для понимания с локальной среднее выполнение скрипта ~127 секунд).
Вопрос:
Какие есть варианты чтобы быстрее грузить данные? Использовать cmd или еще как то?
Заранее спасибо.
Для правильного вопроса надо знать половину ответа
Если это JSON'ы локальные, то держать их в базе данных.
Если они берутся с удалённого сервера, то кэшировать их в БД, периодически загружая их туда отдельным скриптом.
nevesomostjke, Пишете скрипт, который запрашивает у удалённого сервера все нужные JSON'ы и сохраняет их в базу. Настраиваете его запуск по крону с определённым интервалом. В скрипте сайта берёте данные из БД.
Но тут всё определяется тем, насколько свежими должны быть данные. Такое кэширование хорошо подходит для редко обновляющихся данных.
Если же надо всегда получать только самые свежие данные, то стоит смотреть в сторону параллельных запросов, например через curl_multi_*. В этом случае могут быть свои проблемы. Например, при использовании сессий на удалённом сервере, может возникать блокировка запроса до завершения предыдущего.
Rsa97, нее, блокировка будет возникать только если принудительно передавать id сессии, да и то только в тех случаях когда сессии хранятся в файлах. А так да, лучше кэшировать.