Граф Facebook чрезвычайно медленный в PHP

Независимо от того, используете ли вы Facebook PHP SDK или просто загружаете данные с помощью curl с помощью $contents = file_get_contents("https://graph.facebook.com/$id?access_token=$accessToken"), ответ приходит примерно за целую секунду.

Это считается очень медленным, когда мне нужно проверить данные на наличие множества идентификаторов.

В браузере, если я ввожу URL-адрес графика Facebook, я получаю результаты почти мгновенно, менее чем в десятую часть времени, которое требуется в PHP.

Что вызывает эту проблему и как я могу сделать это так же быстро, как в любом браузере? Я знаю, что браузер может это сделать. Должен быть способ сделать это быстрым и в PHP.

IDEA :возможно мне нужно что-то настроить в cURL?

Что я пробовал:

  • Использование PHP SDK. Это так же медленно. Причина, по которой я пытался использовать file_get_contents(), в первую очередь заключалась в том, что я надеялся, что PHP SDK не настроен должным образом.
  • Используя setopt($ch, CURLOPT_SSL_VERIFYPEER, false);. Это не имело значения. AFTER ANSWER ACCEPT EDIT :на самом деле, это вместе с повторным использованием дескриптора curl сделало последующие запросы очень быстрыми.

РЕДАКТИРОВАТЬ :вот вставка кода, который я использовал для измерения времени, необходимого для выполнения запросов:http://pastebin.com/bEbuqq5g. Я исправил текст, в котором раньше говорилось о микросекундах, на секунды. это то, что дает результаты, аналогичные тем, которые я написал в своем комментарии к этому вопросу:Граф Facebook чрезвычайно медленный в PHP .Также обратите внимание, что они занимают такое же медленное время, даже если срок действия токена доступа истек, как в моем примере pastebin.

РЕДАКТИРОВАТЬ 2 :должна быть частично проблема с ssl. Я пробовал бенчмаркингhttp://graph.facebook.com/4(без httpS ), и это дало 1,2 секунды на три запроса, тогда как то же самое, но с https заняло 2,2 секунды. Однако это ни в коем случае не решение, потому что для любого запроса, которому требуется токен доступа, я должен использовать https.

9
задан Community 23 May 2017 в 10:26
поделиться