Ajax Долгооборождение Обучение API / Memcached в приложении PHP
-
27-09-2019 - |
Вопрос
Нет, я не пытаюсь увидеть, сколько модных слов я могу бросить в один вопрос.
Я зарабатываю остальные запросы через Curl в моем приложении PHP к некоторым веб-сервису. Эти запросы должны быть сделаны довольно часто, так как большая часть приложения зависит от этой API. Тем не менее, существует серьезная задержка с запросами (2-5 секунд), которые просто заставляет мое приложение выглядеть мучительно медленно.
В то время как я на полпути к решению с рекомендацией, чтобы кэшировать эти запросы в Memcached, я до сих пор не удовлетворен таким задержкой, когда-либо появляющейся в приложении.
Итак, вот моя мысль: я могу реализовать давно опрос AJAX на заднем плане, чтобы пользователь никогда не испытывал латентность. Остальные запросы / Memcache Lookips будут выполнены через AJAX в заданном интервале.
Но это все действительно новое для меня, и я не уверен, что это лучший подход. И если я на правильном пути, я знаю, что PHP + Apache не собирается справиться с чем-то вроде этого. Но PHP - единственный язык, который я знаю. Я бы в идеале хотел настроить что-то вроде торнадо в Python, но я просто не уверен, сейчас я закончил технику прямо сейчас или нет.
Любые мысли здесь были бы полезны и много ценится.
Решение
Это был какой-то довольно быстрый оборот, но я вернулся и профилировал свое приложение, эхо microtime()
на протяжении всего соответствующих процессов. Оказывается, я не распараллизую свои запросы скручиваемости, и вот где я беру настоящий удар. Для этого требуется около 2 секунд, что означает очень длинные задержки, в то время как каждый запрос скручиваемости выполняется последовательно.