हम अपने ElastiCache Redis उदाहरण की अदला-बदली से परेशान चल रहे हैं। अमेज़ॅन को लगता है कि जगह में कुछ कच्चे आंतरिक निगरानी है जो नोटिस का उपयोग करते हुए स्वैप करते हैं और बस ElastiCache उदाहरण को पुनः आरंभ करते हैं (जिससे हमारे सभी कैश्ड आइटम खो जाते हैं)। यहाँ पिछले 14 दिनों के लिए ElastiCache उदाहरण पर बाइट्सयूर्डफ़ॉर्चेचे (नीली रेखा) और स्वैपूज (नारंगी रेखा) का चार्ट दिया गया है:
आप हमारे ElastiCache उदाहरण के रीबूट्स को ट्रिगर करने के लिए बढ़ते स्वैप उपयोग के पैटर्न को देख सकते हैं, जिसमें हम अपने सभी कैश्ड आइटम खो देते हैं (बाइट्सएफ़रफ़ॉर्चे ड्रॉप 0 पर)।
हमारे ElastiCache डैशबोर्ड के 'कैश ईवेंट्स' टैब में संबंधित प्रविष्टियाँ हैं:
सोर्स आईडी | प्रकार | दिनांक | प्रतिस्पर्धा
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | Tue Sep 22 07:34:47 GMT-400 2015 | कैश नोड 0001 पुनः आरंभ किया गया
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | Tue Sep 22 07:34:42 GMT-400 2015 | नोड 0001 पर कैश इंजन को पुनरारंभ करने में त्रुटि
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | Sun Sep 20 11:13:05 GMT-400 2015 | कैश नोड 0001 पुनः आरंभ किया गया
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | थू सिप 17 17:59:5950 GMT-400 2015 | कैश नोड 0001 पुनः आरंभ किया गया
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | बुध सितम्बर 16 10:36:52 GMT-400 2015 | कैश नोड 0001 पुनः आरंभ किया गया
कैश-इंस्टेंस-आईडी | कैश-क्लस्टर | Tue Sep 15 05:02:35 GMT-400 2015 | कैश नोड 0001 पुनः आरंभ किया गया
(स्निप पहले की प्रविष्टियाँ)
स्वैगेज - सामान्य उपयोग में, न तो मेमेकैच्ड और न ही रेडिस को स्वैप प्रदर्शन करना चाहिए
हमारी प्रासंगिक (गैर-डिफ़ॉल्ट) सेटिंग्स:
- उदाहरण के प्रकार:
cache.r3.2xlarge
maxmemory-policy
: allkeys-lru (हम पहले से ज्यादा अंतर के बिना डिफ़ॉल्ट वाष्पशील-lru का उपयोग कर रहे थे)maxmemory-samples
: १०reserved-memory
: 2500000000- उदाहरण पर INFO कमांड को चेक करते हुए, मैं
mem_fragmentation_ratio
1.00 और 1.05 के बीच देखता हूं
हमने AWS समर्थन से संपर्क किया है और इसे बहुत उपयोगी सलाह नहीं मिली है: उन्होंने आरक्षित-मेमोरी को अधिक क्रैंक करने का सुझाव दिया है (डिफ़ॉल्ट 0 है, और हमारे पास 2.5 जीबी आरक्षित है)। इस कैश उदाहरण के लिए हमारे पास प्रतिकृति या स्नैपशॉट नहीं हैं, इसलिए मेरा मानना है कि कोई भी BGSAVE नहीं होना चाहिए और अतिरिक्त मेमोरी का उपयोग करना चाहिए।
maxmemory
कैशे .r3.2xlarge की टोपी 62495129600 बाइट्स है, और यद्यपि हम अपनी टोपी (माइनस आवर reserved-memory
) को जल्दी से मारते हैं , यह मुझे अजीब लगता है कि मेजबान ऑपरेटिंग सिस्टम को यहां बहुत स्वैप का उपयोग करने के लिए दबाव महसूस होगा, और इतनी जल्दी, जब तक कि अमेज़ॅन ने किसी कारण के लिए ओएस स्वैपीनेस सेटिंग्स को क्रैंक किया है। किसी भी विचार क्यों हम ElastiCache / Redis, या वर्कअराउंड हम कोशिश कर सकते हैं पर इतना स्वैप उपयोग का कारण होगा?