मेकचे (d) बनाम वार्निश 3 स्तरीय वेब आर्किटेक्चर को गति देने के लिए


111

मैं अपने बेंचमार्क (3 स्तरीय वेब आर्किटेक्चर) को गति देने की कोशिश कर रहा हूं, और मेरे पास मेमचे (डी) और वार्निश से संबंधित कुछ सामान्य प्रश्न हैं।

  • अंतर क्या है?
    यह मुझे लगता है कि वार्निश वेब सर्वर के पीछे है, वेब पृष्ठों को कैशिंग और कोड में बदलाव की आवश्यकता नहीं है, बस कॉन्फ़िगरेशन।
    दूसरी तरफ, मेम्कैच्ड सामान्य प्रयोजन की कैशिंग प्रणाली है और इसका उपयोग डेटाबेस से परिणाम को कैश करने के लिए किया जाता है और इसके लिए getविधि (पहले कैशबैक) में बदलाव की आवश्यकता होती है ।

  • क्या मैं दोनों का उपयोग कर सकता हूं? सामने वेब सर्वर में वार्निश और डेटाबेस कैशिंग के लिए मेम्केड?

  • एक बेहतर विकल्प क्या है?

    (परिदृश्य 1 - ज्यादातर लिखें,
    परिदृश्य 2 - ज्यादातर पढ़ें,
    परिदृश्य 3 - पढ़ें और लिखें समान हैं)

जवाबों:


269
  • वार्निश वेबसर्वर के सामने है; यह उल्टा http प्रॉक्सी के रूप में काम करता है जो कैश करता है।
  • आप दोनों का उपयोग कर सकते हैं।
  • अधिकतर लिखते हैं - वार्निश को प्रभावित पृष्ठों को शुद्ध करने की आवश्यकता होगी। इससे ओवरहेड और संशोधित पृष्ठों के लिए थोड़ा लाभ होगा।
  • ज्यादातर पढ़ा - वार्निश शायद इसे सबसे अधिक कवर करेगा।
  • ऐसे ही पढ़े और लिखें - वार्निश आपके लिए बहुत सारे पृष्ठों की सेवा करेगा, मेम्चेचे उन पृष्ठों के लिए जानकारी प्रदान करेगा जिनके पास ज्ञात और नए डेटा का मिश्रण है जो आपको पृष्ठों को तेजी से उत्पन्न करने की अनुमति देता है।

एक उदाहरण जो stackoverflow.com पर लागू हो सकता है: इस टिप्पणी को जोड़ने से पृष्ठ कैश अमान्य हो गया, इसलिए इस पृष्ठ को वार्निश (और मेरे प्रोफ़ाइल पृष्ठ से भी साफ़ करना होगा, जो शायद शुरू करने के लिए कैशिंग के लायक नहीं है। सभी को अमान्य करना याद रखना। प्रभावित पृष्ठ थोड़ी समस्या हो सकती है)। हालाँकि, सभी टिप्पणियाँ अभी भी मेम्चेचे में हैं, इसलिए डेटाबेस को केवल यह टिप्पणी लिखनी है। पेज जेनरेट करने के लिए डेटाबेस द्वारा और कुछ नहीं किया जाना चाहिए। सभी टिप्पणियां मेम्चेचे द्वारा खींची गई हैं, और पृष्ठ को तब तक हटा दिया जाता है जब तक कि कोई इसे फिर से प्रभावित नहीं करता है (शायद मेरे जवाब को वोट करके)। फिर से, डेटाबेस वोट लिखता है, अन्य सभी डेटा मेमकेच से खींचा जाता है, और जीवन तेज है।

Memcache आपके DB को बहुत सारे पढ़ने के काम करने से बचाता है, वार्निश आपके डायनेमिक वेब सर्वर को सीपीयू लोड से बचाता है, जिससे आप कम बार पृष्ठ उत्पन्न कर सकते हैं (और db भार को थोड़ा हल्का कर देता है यदि Memcache के लिए नहीं)।


3
यह: "(शायद मेरे जवाब को वोट देकर)" ने मुझे अपना जवाब देने के लिए तैयार किया
Cesc

इसलिए वार्निश का उपयोग करने के लिए स्टैकओवरफ़्लो (या एक्टिविटी फीड पेज वाली साइट जैसी साइट) की सिफारिश नहीं की जाती है। क्या यह?
मोहम्मद रज़ा एस्माईल्ज़ादेह

@jbferland आपके उदाहरण में मेरा प्रश्न यह है कि इस पृष्ठ के शीर्ष पर मेरे द्वारा प्राप्त अंकों के साथ एक फोटो है, हम वार्निश के साथ कैश कैसे कर सकते हैं लेकिन उस क्षेत्र को गतिशील दिखा सकते हैं?
होज सेज

@ ईएसआई टैग का उपयोग करके।
जॉनी पाई

वार्निश एक वेब सर्वर के सामने हो सकता है, लेकिन वेब सर्वर के पीछे भी। यह एक ही वेब सर्वर के सामने और पीछे एक ही समय में भी हो सकता है ;-) उदाहरण के लिए वार्निश SSL का समर्थन नहीं करता है, इसलिए HTTPS को संभालने के लिए वार्निश के सामने एक वेब सर्वर होना असामान्य नहीं है। तब ट्रैफ़िक को वार्निश के साथ सम्‍मिलित किया जाता है, जो तब एप्लिकेशन वेब सर्वर के साथ संचार करता है - जो कि उसी सर्वर हो सकता है जो HTTPS ट्रैफ़िक को हैंडल करता है।
मैट

32

मेरा अनुभव ड्रुपल के साथ वार्निश का उपयोग करने से आता है। यथासंभव सरल शब्दों में, यहां बताया गया है कि मैं कैसे उत्तर दूंगा:

सामान्य तौर पर, वार्निश अप्रमाणित (कुकी के माध्यम से) ट्रैफ़िक के लिए काम करता है और मेमेकैच्ड प्रमाणित ट्रैफ़िक को कैश करेगा।

इसलिए दोनों का उपयोग करें।


5
आपने इसका
उल्लेख
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.