2011-03-24 16 views
8

Web uygulamasında bazı test testleri yapıyorum ve Facebook API'sinden gelen yanıtların Twitters'tan çok daha yavaş olduğunu fark ettim.Facebook API Yanıtları Çok Yavaş (oAuth)

** Kayıt için, ben bir OAuth jetonu & sırrı kaydedebilirsiniz Heyecan kütüphanesi ile Heyecan API entegrasyonu ve Facebooks kendi kütüphanesinden here

için twitter-async kitaplığı kullanıyorum, o zaman bir örneğini oluşturmak için bu kullanmak ve aramaları basitleştirir. Facebook için, offline_permission için istekte bulunmadığı sürece, kullanıcı her defasında uygulamamda oturum açtığında bir oAuth kodu saklamalı ve bir oAuth erişim jetonu yeniden oluşturmalıyım.

elimden yukarıda Verilen:

0.02 saniye bir Twitter kullanıcıları zaman çizelgesi alın.

kullanıcıların bilgi almak için 3.47 saniye toplamda sonra 2.31 saniye kullanıcıların ayrıntıları alabilirsiniz 1.16 saniye bir FB OAuth Erişim Kodu alın.

Bu istatistikler Facebook'un PHP API kütüphanesinde sağlanan işlevleri kullanmaktadır. Ayrıca bu bilgileri bir istekle elde etmek için kendi CURL işlevlerimi uygulamaya çalıştım ve sonuçlar çok daha iyi değil.

Bu, diğerlerinin Facebook API'sini kullanmasıyla aynı türden yanıt süreleri midir?

Çevrimdışı izin isteme ve kalıcı erişim belirtecini saklamanın yanı sıra, bu istekleri başka nasıl hızlandırabilirim, sonumun veya Facebook'ların sorunu nedir?

sayesinde

Chris

+0

Facebook için geliştirdiği eğlenceye hoşgeldiniz. :-) – ceejayoz

cevap

7

Ben de Facebook API oldukça yavaştır tecrübesi var. Ben facebook PHP API API çağrıları durumunda CURL etrafında sarmaktan çok daha fazla değil, bu yüzden bu hızlarını geliştirmedi anlamında inanıyorum.

Varolan kullanıcılar için bir tuval sayfası üzerinde çalışıyorum, geldiği sırada bir erişim belirteci ve fb_UID alıyorum. İlk başta bir/me grafik araması yaptım ve bazen bir/ben/arkadaşım. İlk 0.6 sn, ikinci genellikle biraz daha fazla alır. Yani bu durumda (bazılarına kadar) bulgularınızı doğrulayabilirim.

Bu yüzden önemli şeyler yerel olarak depolamaya ve yalnızca gerektiğinde güncelleştirmeye (gerçek zamanlı güncelleme API'sı) geçtim. Temel olarak, 'normal' işlem sırasında herhangi bir API çağrısına ihtiyacım yok.

Muhtemelen FB'yi kendi sayfanıza entegre ettiğinizi ve belki de sadece fb-UID & arkadaşlarından biraz daha fazla bilgi kullandığınızı ve bu çözümün tamamen sorunuzu yanıtlamadığını farkettim. Ama belki de bulmacanın küçük bir parçası olarak işlev görebilir;)

Bu konuda diğer bakış açılarını da dört gözle bekliyorum!

0

Uygulamam Facebook'tan birden çok URL'yi çağırıyor. Biraz zaman alır:/ Bu yüzden sonuçların $ _SESSION düzeyinde saklanmasına neden olan bir işlev yazmaya karar verdim, böylece verileri daha eski olup olmadığını görmek için bir zaman damgası ile birlikte daha sonra tekrar kullanabilirim.

Bu, asıl sorunu çözmez, yalnızca almayı sürdürmeniz gerektiğinden tasarruf etmenizi sağlar.

Son kullanıcı deneyimi için yapmaktan hoşlandığım şey, bunları bir yükleme ile sayfaya yönlendirmektir. Gif - daha sonra javascript'in verileri gerçekten getiren sayfayı istemesi gerekir. Bu şekilde, kullanıcı, bir sonraki sayfaya hazır olana kadar göz atmak için güzel bir gif içeren bir yükleme sayfasında kalır.