2012-06-18 11 views
5

मेमकैच किया गया है जब मेमकैच केवल 40% पूर्ण है, तो मुझे बेदखल लग रहा है। वो कैसे संभव है?कैश 40% पूर्ण

+0

हमम किस स्मृति पर memcached का उपयोग कर रहे हैं? क्या memcached में प्रत्यक्ष मैप किए गए मेमोरी कार्यान्वयन है? मुझे नहीं लगता कि यह क्यों होगा ... लेकिन कौन जानता है। – PinkElephantsOnParade

+0

हमारे पास Redhat linux पर चल रहे 4 नोड्स का समूह है। सुनिश्चित नहीं है कि आप सीधे मैप किए गए मेमोरी कार्यान्वयन से क्या मतलब रखते हैं। लेकिन हम membase का उपयोग कर रहे हैं जो एक पैकेज के रूप में memcached देता है। – apatel

+0

http://stackoverflow.com/questions/6868256/memcached-eviction-prior-to-key-expiry/10456364#10456364 –

उत्तर

11

memcached आंकड़े चलाकर स्लैब आकारों की जांच करें। ऐसा लगता है कि आपके स्लैब समान रूप से आबादी वाले नहीं हैं और यह कैश पूर्ण होने पर भी उत्पीड़न का कारण बन रहा है।

+2

यह वही मामला है जो हमारे पास था। डिफ़ॉल्ट बाल्टी में स्लैब में से एक भरा था और उत्पीड़न का कारण बन रहा था। हमने केवल उसी आकार की उन वस्तुओं के लिए एक नई बाल्टी बनाई है और हमारे पास अब यह समस्या नहीं है। आपके उत्तरों के लिए सभी को धन्यवाद। – apatel

0

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

इसलिए इस समस्या के लिए डेटा आकार का एक बड़ा वितरण जिम्मेदार हो सकता है। मेमकैड रनिंग के कई उदाहरण होने और वितरित सिस्टम के रूप में इसका उपयोग करके, समस्या को कम किया जा सकता है।

2

मैं this question एक लंबा स्पष्टीकरण जो समान रूप से इस के रूप में अच्छी तरह से लागू होगा ऊपर लिखा था।

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