2011-03-24 20 views
8

मैं अपने वेब ऐप पर कुछ बेंचमार्क परीक्षण कर रहा हूं और ध्यान देता हूं कि फेसबुक एपीआई से प्रतिक्रियाएं टिटर्स की तुलना में बहुत धीमी हैं।फेसबुक एपीआई प्रतिक्रियाएं बहुत धीमी (ओएथ)

** रिकॉर्ड के लिए, मैं के लिए ट्विटर एपीआई एकीकरण और Facebooks खुद पुस्तकालय here

ट्विटर पुस्तकालय मैं एक OAuth टोकन & गुप्त बचा सकता है के साथ twitter-async पुस्तकालय का उपयोग कर रहा है, मैं तो एक उदाहरण बनाने के लिए इन का उपयोग और कॉल, सरल बनाओ। फेसबुक के लिए, जब तक कि मैं ऑफ़लाइन_प्रमिशन के लिए नहीं पूछता, मुझे एक ओथ कोड स्टोर करना होगा और जब भी उपयोगकर्ता मेरे ऐप में लॉग इन करेगा तो ओथ एक्सेस टोकन को फिर से बनाना होगा।

को देखते हुए ऊपर मैं कर सकते हैं:

0,02 सेकंड में पुन: प्राप्त एक ट्विटर उपयोगकर्ता समय।

1.16 सेकंड में एक अमेरिकन प्लान OAuth एक्सेस कोड प्राप्त करें, तो मैं 2.31 सेकंड में उन जानकारी प्राप्त कर सकते हैं, 3.47 सेकंड कुल उपयोगकर्ताओं जानकारी पाने के लिए।

ये आंकड़े फेसबुक द्वारा उनके PHP API लाइब्रेरी में प्रदान किए गए कार्यों का उपयोग करने से हैं। मैंने इस जानकारी को अनुरोध के माध्यम से प्राप्त करने के लिए अपने स्वयं के कर्ल फ़ंक्शन को लागू करने का भी प्रयास किया और परिणाम अधिक बेहतर नहीं हैं।

क्या यह वही प्रतिक्रिया समय है जो दूसरों को फेसबुक एपीआई का उपयोग कर रहे हैं?

ऑफ़लाइन अनुमति का अनुरोध करने और स्थायी पहुंच टोकन संग्रहीत करने के अलावा, मैं इन अनुरोधों को और कैसे बढ़ा सकता हूं, क्या मेरे अंत या फेसबुक पर समस्या है?

धन्यवाद,

क्रिस

+0

फेसबुक के लिए विकसित होने वाले मज़े में आपका स्वागत है। :-) – ceejayoz

उत्तर

7

मैं भी अनुभव फेसबुक एपीआई काफी धीमा है। मेरा मानना ​​है कि फेसबुक PHP एपीआई एपीआई कॉल के मामले में कर्ल के चारों ओर लपेटने से कहीं ज्यादा नहीं है, इसलिए यह समझ में आता है कि इससे गति में सुधार नहीं हुआ है।

मैं एक कैनवास पृष्ठ पर काम करता हूं, जिसका मतलब मौजूदा उपयोगकर्ताओं के लिए है, मुझे एक्सेस टोकन और एफबी_यूआईडी मिलती है जैसे कि वह अंदर आता है। सबसे पहले, मैंने एक/मुझे ग्राफ कॉल किया और कभी-कभी मुझे/दोस्तों/दोस्तों ने किया। पहला 0.6 सेकंड की तरह लेता है, दूसरा आमतौर पर थोड़ा और अधिक होता है। तो उस मामले में मैं (कुछ विस्तार करने के लिए) अपने निष्कर्षों की पुष्टि कर सकता हूं।

यही कारण है कि अब मैंने स्थानीय रूप से महत्वपूर्ण सामग्री को संग्रहीत करने के लिए स्विच किया है और आवश्यकता होने पर ही इसे अपडेट किया है (वास्तविक समय अपडेट API)। असल में, मुझे 'सामान्य' ऑपरेशन के दौरान किसी भी एपीआई कॉल की आवश्यकता नहीं है।

मुझे एहसास है कि आप शायद अपने पृष्ठ पर एफबी को एकीकृत कर रहे हैं, और शायद नाम, एफबी-यूआईडी & मित्रों की तुलना में थोड़ी अधिक जानकारी का उपयोग करें, और यह समाधान पूरी तरह से आपके प्रश्न का उत्तर नहीं दे रहा है। लेकिन शायद यह पहेली के एक छोटे टुकड़े के रूप में अभी भी काम कर सकता है;)

मैं इस पर अन्य दृष्टिकोणों की भी प्रतीक्षा कर रहा हूं!

0

मेरा एप्लिकेशन फेसबुक से एकाधिक यूआरएल कॉल करता है। इसमें कुछ समय लगता है:/ यही कारण है कि मैंने एक ऐसा फ़ंक्शन लिखने का निर्णय लिया जो परिणामों को $ _SESSION में संग्रहीत करता है, इसलिए मैं समय-समय पर इसका उपयोग कर सकता हूं ताकि यह देखने के लिए कि डेटा बहुत पुराना है या नहीं।

यह वास्तविक समस्या का समाधान नहीं करता है, यह आपको इसे लाने के लिए आपको बचाता है।

मुझे अंतिम उपयोगकर्ता अनुभव के लिए क्या करना है, उन्हें लोडिंग के साथ पृष्ठ पर अग्रेषित करना है। Gif - उसके बाद जावास्क्रिप्ट उस पृष्ठ का अनुरोध करता है जो वास्तव में डेटा प्राप्त करता है। इस तरह, उपयोगकर्ता एक लोडिंग पेज पर रहता है जिसमें एक अच्छा gif देखने के लिए, जब तक अगला पृष्ठ तैयार न हो जाए।

संबंधित मुद्दे