2012-01-10 14 views
5

मैं भी एक php प्रोग्रामर हूं। मैंने हमेशा सोचा कि फेसबुक पेज इतने तेज़ कैसे लोड करते हैं कि किसी भी उदाहरण से उनसे जुड़ने वाले बहुत से उपयोगकर्ता। यातायात कम होने पर भी मेरी साइट ऐसी गति तक कभी नहीं पहुंची। वे अपनी साइटों के लिए इतना अच्छा क्या करते हैं?फेसबुक पेज इतनी तेजी से लोड करता है

यदि मैं वेबसाइट की आधा गति भी वेबसाइट बनाना चाहता हूं तो भी मुझे क्या ख्याल रखना चाहिए। मैं php और mysql और jquery वेबसाइटों का जिक्र कर रहा हूं।

+0

किस प्रकार की मशीन आपके पृष्ठ को होस्ट करती है? उस मशीन के किस प्रकार का इंटरनेट कनेक्शन है?मेरा अनुमान है कि इसके बारे में फेसबुक के उपकरण शीर्ष पायदान के साथ शुरू करने के लिए है। इसके अलावा वे हिप्पोप का उपयोग करते हैं, जो php से C++ को बदलता है ... – codeling

उत्तर

7

किसी के द्वारा इस reddit पद जो फेसबुक पर प्रशिक्षु पर एक नज़र डालें:

http://www.reddit.com/r/programming/comments/nav19/facebook_releases_hhvm_60_percent_faster_than_its/c37pitt

पद के अधिकांश प्रासंगिक भागों:

  • डाटाबेस कॉल कैश कुंजी है। डेटाबेस हिट मेमकैच शॉर्ट सर्किट। फेसबुक में 99.9% हिट दर है। कभी-कभी, एक मुद्दा हो सकता है जिससे हिट दर 95% तक कम हो जाती है। यह शायद ज्यादा नहीं होता है, लेकिन जब ऐसा होता है, तो यह पूरी साइट को असामान्य रूप से धीमा कर देता है।

  • बेवकूफ डेटाबेस कॉल जो सामान्य रूप से स्मार्ट डेटाबेस कॉल से बेहतर होते हैं जो न्यूनतम रूप से प्राप्त करते हैं। क्यूं कर? चूंकि अधिकांश बेवकूफ डेटाबेस कॉल समान हैं - और इसलिए बहुत कैशबल - और सामान संसाधनों को फ़िल्टर करने के लिए सर्वर संसाधनों का उपयोग करना इसलिए संसाधन संसाधनों का उपयोग करने से कहीं अधिक किफायती है। या, दूसरे शब्दों में, यह डेटाबेस कॉल की जटिलता को कम करता है और प्रति डेटाबेस कॉल के अधिक डेटा की कीमत पर कम बनाता है, और अधिक लोड मेमकैड में स्थानांतरित हो जाता है।

2

वे मूल रूप से:

  • स्केल क्षैतिज
  • एक अत्यधिक वितरित फैशन में अपने PHP कोड संकलित करें
  • उपयोग MySQL जैसे कि यह एक NoSQL डेटाबेस था (इसका मतलब है कि वे डॉन ' टी पूछताछ करते समय उसमें शामिल हों)
  • कैश बहुत
+0

मुझे "शामिल न हों" की अवधारणा नहीं मिली। आप कहने का मतलब है कि डेटा एक ही टेबल में सहेजा जाता है? – Hacker

+0

क्रमबद्ध करें। यही कारण है कि NO_SQL मूल रूप से करते हैं। वे विशाल हैश में डेटा स्टोर करते हैं। और वे क्वेरी प्रदर्शन में सुधार के लिए संबंधों में शामिल होने से बचते हैं। –

3

फेसबुक पर बहुत अधिक ट्यूनेड कैशिंग और एक अत्यधिक tweaked MySQL क्लस्टर सेटअप है। फेसबुक के भीतर 'फेसबुक पर MySQL' खोज करने का प्रयास करें। उनके कुछ संकेत और सुझाव पौराणिक हैं!

यह जानने के बिना कि आपकी साइट क्या है, इसकी कोडिंग, डेटाबेस संरचना आदि कैसे आपकी साइट को अनुकूलित करने के लिए असंभव होगा।

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

इसके अलावा slow_queries आदि

ओ रेली के लिए MySQL लॉगिंग कॉन्फ़िगर प्रदर्शन MySQL पर अच्छा ebooks के एक जोड़े हैं।

डेव

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