Magento सत्र भंडारण: रेडिस बनाम मेम्केड


10

मैं एक Magento EE 1.12.2 (CE 1.7.2 में समान रूप से) चला रहा हूं, जहां हमारे पास कैशिंग ( Cm_Cache एक्सटेंशन, Redis v 2.2.12 ) के लिए रेडिस है , लेकिन हम सत्र भंडारण के लिए Memcache का उपयोग करते हैं।

इन Magento संस्करणों पर बॉक्स से बाहर Redis समर्थित नहीं है। तो मेरी चिंता यहाँ है:

  • क्या यह प्रयास बनाम गति सुधार के संदर्भ में Redis में सत्र भंडारण प्राप्त करने के लिए परेशानी के लायक है?
  • Memcache अच्छा नहीं है या शायद बेहतर भी है?

इस परियोजना में हमारे पास बड़ी सत्र फाइलें हैं क्योंकि हमें सत्र में तृतीय-पक्ष XML फ़ाइलों को संग्रहीत करने की आवश्यकता है, इसलिए सत्र पढ़ने और लिखने का अनुकूलन काफी प्रभाव डाल सकता है।

से local.xml:

<session_save><![CDATA[memcache]]></session_save>

तथा:

<cache>
    <backend>Cm_Cache_Backend_Redis</backend>
    [...]
</cache>

जवाबों:


11

मेरी अवधारणा के अनुसार रेडिस सबसे अच्छा है:

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

Redis एक खुला-स्रोत, नेटवर्क-इन-मेमोरी, वैकल्पिक-स्थायित्व के साथ कुंजी-मूल्य डेटा स्टोर है।

वजह से

  1. मेमकेच एक अस्थिर-इन-मेमोरी कुंजी / मान स्टोर है। रेडिस एक की तरह काम कर सकता है (और उस काम को मेमेकैड भी कर सकता है)
  2. यह आर्किटेक्चर तेजी से डेटा बचाने के लिए उपयुक्त है।
  3. डेटा तेजी से मिलता है
  4. डिफ़ॉल्ट रूप से निरंतरता
  5. आकार में 512MB तक का मान (प्रति कुंजी 1MB तक सीमित)
  6. क्लस्टरिंग में निर्मित

रेडिस एलआरयू का समर्थन नहीं करता है या ओवरलोड से निपटने के लिए किसी भी समान नीति का समर्थन करता है। रेडिस कैस (चेक और सेट) का समर्थन नहीं करता है जो कैश स्थिरता बनाए रखने के लिए उपयोगी है - देखें कि कैश कैश असंगतता के सबसे सामान्य स्रोत क्या हैं? (हालांकि एक SETNX ऑपरेशन है जो इसे अनावश्यक बनाता है)

यहाँ छवि विवरण दर्ज करें

अधिक जानकारी: स्टैकओवरफ़्लो "मेम्केच्ड बनाम रेडिस?"

Redis तेजी से डेटा समर्थन के साथ कुछ विवरण: Redis.io


ठीक है, यह एक अच्छी तुलना है और लिंक दोनों के बीच अंतर की बहुत जानकारी प्रदान करता है। लेकिन वास्तव में कोशिश के काबिल है जब पहले से ही इसे Redis में बदलने के लिए Memcache का उपयोग कर रहा है?
7ochem

yes.it केवल woth जब आप redis का उपयोग करेगा ... आप Magento ईई 1.12.2.be पर redis का उपयोग
अमित बेरा

7ochem, क्या आपने मुझे वोट दिया है?
अमित बेरा

3
महान योगदान। एक ही सवाल था। अब रेडिस का उपयोग करना। 1 स्टोर पर शानदार काम कर रहा है, लेकिन दूसरे पर थोड़ा कम प्रभावी है। साथ ही मेमच को भी आज़माएं। @AmitBera आप memcache + apc या redis + apc को स्टैक कर सकते हैं और कैसे एक स्थानीय। Xml तब दिखेंगे।
काय इंट वेन

3
"रेडिस एलआरयू या ओवरलोड से निपटने के लिए किसी भी समान नीति का समर्थन नहीं करता है" - आप तब तक हड़ताल करना चाहते हैं , जब तक कि आपका मतलब कुछ अलग न हो। इसके अलावा, चूंकि ओपी कैश से रेडिस के बजाय सत्रों को स्थानांतरित करना चाहता है, इसलिए सत्र निष्कासन आदर्श रूप से समय-आधारित नहीं है, इसलिए LRU एक बोनस नहीं है।
मेल्विन

6

1.7.2 में CM Redis Cache हैक नहीं है, Magento ने सिर्फ डिफ़ॉल्ट रूप से 1.8+ से कोड जोड़ा है क्योंकि यह इतनी अच्छी तरह से काम करता है और इसे आसानी से लागू किया जाता है।

Redis के पास डेटाबेस की वजह से एक ही सर्वर उदाहरण में कैश और सत्र होने का समर्थन है। मेमेकैड में आप संभवतः मेमकेड के कई उदाहरण शुरू करेंगे।

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

इसलिए मैं रेडिस को मेमेकैड की सलाह दूंगा।


5

यह दुर्भाग्य से एक काले और सफेद जवाब नहीं है। इसलिए, मैं आपको समर्थक और विपक्ष दूंगा:

मेम्कैश:

  • हार्डकोड डेटा सीमा (इस समस्या को न छोड़ें, व्यवस्थापक सत्र आसानी से इससे आगे बढ़ सकते हैं)
  • स्टाल जब डिस्क पर सहेज रहे हैं
  • थोड़ा बुरा प्रदर्शन
  • Magento के विस्तार में कोई बॉट-रक्षा नहीं है

Redis:

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

अब, यदि गति आपकी एकमात्र चिंता है, तो बस एक लोड परीक्षण चलाएं। Blazemeter में एक मुफ्त खाता आपको 50 आभासी उपयोगकर्ताओं के साथ काम करने के लिए मिलता है, जो मतभेदों को मापने के लिए पर्याप्त होना चाहिए।

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