AJAX долго опрашивает REST API / Memcached в PHP-приложении - PullRequest
1 голос
/ 22 ноября 2010

Нет, я не пытаюсь увидеть, сколько умных слов я могу добавить в заголовок одного вопроса.

Я делаю REST-запросы через cURL в моем приложении PHP для некоторых веб-сервисов.Эти запросы нужно делать довольно часто, так как большая часть приложения зависит от этого API.Однако существует большая задержка с запросами (2-5 секунд), из-за которой мое приложение выглядит мучительно медленным.

Пока я на полпути к решению с рекомендацией кэшировать эти запросы в Memcached, я 'Я все еще не удовлетворен такой задержкой, возникающей в приложении.

Итак, я подумал: я могу реализовать длинный опрос AJAX в фоновом режиме, чтобы пользователь никогда не испытывал задержку сразу.Запросы REST / поиск в Memcache будут выполняться через AJAX через заданный интервал.

Но это все действительно ново для меня, и я не уверен, что это лучший подход.И если я на правильном пути, я знаю, что PHP + Apache не справится с чем-то подобным.Но PHP - единственный язык, который я знаю.В идеале я хотел бы настроить что-то вроде Tornado в Python, но я просто не уверен, что сейчас я слишком перегружен или нет.

Любые мысли здесь будут полезны и высоко оценены.

1 Ответ

0 голосов
/ 22 ноября 2010

Это был довольно быстрый поворот, но я вернулся и профилировал свое приложение, повторив microtime() в соответствующих процессах.Оказывается, я не распараллеливаю свои запросы cURL, и именно здесь я получаю настоящий удар.Это займет приблизительно 2 секунды, что означает очень длительные задержки, когда каждый запрос cURL выполняется последовательно.

...