Facebook users_getStandardInfo работает очень медленно.FQL или CURL медленный? - PullRequest
0 голосов
/ 21 сентября 2010

Итак, я запускаю приложение на Facebook, и мне приходится часто звонить в FQL.например, вызов

$ fbObj-> api_client-> users_getStandardInfo () со старым facebookapi_php5_restlib

Однако я нашел ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ МЕДЛЕННО, чтобы получить ответ обратно.Я знаю, что вызов на самом деле использует CURL-соединение с Facebook.

Итак, вызов CURL медленный в ответ?или FQL?конечно, как это улучшить?

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

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Вам нужно либо уменьшить количество запросов, либо использовать кеширование.

Если вам нужно получить информацию для 100 пользователей, выполнение 100 запросов может занять несколько минут. Но если вы объедините их в один запрос:

select name from user where uid in (1,2,3,4,...100)

это займет всего пару секунд.

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

0 голосов
/ 21 сентября 2010

По моему опыту, платформа Facebook в целом работает медленно.Хотя я не могу их винить.Масштабирование API для обслуживания более 500 миллионов пользователей не может быть простым делом:)

Что-то, что я заметил, хотя с новым доменом api-read.facebook.com DNS для этого домена былвроде как испортил пару месяцев.Переход с api-read.facebook.com на api.facebook.com, кажется, ускоряет запросы.Кроме того, в некоторых регионах вызовы api-read.facebook.com буквально занимают более 15 секунд, что опять-таки происходит из-за странной настройки DNS.

Кроме того, если вы используете SSL, попробуйте отключить его.,Не все вызовы API требуют SSL-соединений, и стандартные HTTP-запросы к Facebook выполняются намного быстрее.

Надеюсь, это поможет:)

...