2011-10-02 11 views
17

कैश की क्षमता योजना कैसे करें - उदाहरण के लिए ehCache, memcache या dynacache के लिए कितनी रैम आवंटित की जाती है? क्या कोई उद्योग मानक सूत्र है?कैश आकार की क्षमता योजना

उदा। मेरे पास डेटाबेस में लगभग 60,000 रिकॉर्ड्स हैं। यह कंपनी डेटा है - जिसमें कंपनी का नाम, विवरण और कंपनी कोड शामिल है। मैं jQuery का उपयोग करके एक टाइपहेड फीचर को कार्यान्वित करना चाहता हूं और कैश में इस कंपनी के नाम का विवरण स्टोर करना चाहता हूं।

आदर्श कैश आकार क्या होगा? मुझे पता है कि कैश आकार मुफ्त मेमोरी की मात्रा तक सीमित है लेकिन एक विशिष्ट तरीके से जानना चाहते हैं? या एक परीक्षण और त्रुटि है जहां आप कुछ आकार और परीक्षण के साथ शुरू करते हैं, एक ग्राफ प्लॉट करते हैं और कैश आकार को समायोजित करते रहते हैं।

अद्यतन

कंपनी का आईडी - CHAR (9)

कंपनी का नाम - VARCHAR2 (250 CHAR)

कंपनी वर्णन - NVARCHAR2 (1000 CHAR)

+0

प्रत्येक क्षेत्रों कंपनी डेटा है की अधिकतम लंबाई क्या है:

यहाँ इसके बारे में एक अच्छा लेख है? –

+0

मैंने कॉलम की लंबाई के अतिरिक्त विवरण के साथ प्रश्न अपडेट किया है – basav

+3

मैं कंपनी आईडी –

उत्तर

38

1) यदि आपके पास एक समर्पित कैश सर्वर है तो आपको चिंता करने की ज़रूरत नहीं है कि आपको कितनी मेमोरी स्पेस का उपयोग करना है। आप उपयोग की अधिकतम मात्रा में मुफ्त मेमोरी (या इसके करीब) का उपयोग कर सकते हैं और इसे अपने जादू कर सकते हैं।

2) यदि कैशिंग सर्वर आपके वेब सर्वर जैसा ही है तो आपको यह निर्दिष्ट करना होगा कि आप memcached (dynacache या अन्य) का उपयोग करने की अनुमति देते हैं। मेरे दृष्टिकोण के लिए, वास्तव में एक आदर्श कैश आकार नहीं है। यह सब इस बात पर निर्भर करता है कि आपके सर्वर की कितनी मेमोरी है, कैश आदि में आपको कितना डेटा रखना है। जब तक आपकी मेमोरी कैशिंग और वेब सर्वर के बीच ठीक से संतुलित होती है तो आप अच्छे होते हैं।

इस मामले में, आपके पास कैश में स्टोर करने के लिए आवश्यक 100 एमबी डेटा से कम है। आपके सर्वर के पास कितना निर्भर है, यह बहुत छोटा है लेकिन आपको हमेशा यह सोचना होगा कि डेटा कितना बढ़ता है और आपको अतिरिक्त डेटा (जैसे क्लाइंट, उत्पाद आदि ...) जोड़ने की आवश्यकता है। इसलिए यदि आप की आवश्यकता से कम रखें, तो आपको सेवा को रोकना होगा, स्मृति की कीमत में वृद्धि होगी, सेवा शुरू करें।

यदि आपका सर्वर बहुत सारी जानकारी को संसाधित करता है जिसके लिए बहुत सारी मेमोरी की आवश्यकता होती है, तो आपको गणना करना होगा कि इन प्रक्रियाओं में कितनी मेमोरी और संसाधन हैं।

त्वरित उदाहरण:

  • 1 सर्वर (कैश और वेब सर्वर) कुल स्मृति के 4 जी के साथ। , स्मृति की 1G
  • cronjob, डेटाबेस आदि .: 3 जी 100Mb की कुल के साथ
  • 60,000 ग्राहकों सहित प्रणाली और प्रक्रियाओं संसाधनों

(हमेशा ही मामले में वास्तविक आकार से अधिक उपयोग) इस उदाहरण में बाएं (लगभग)। यह आपके सिस्टम के लिए पर्याप्त होने के बाद से शेष राशि की अनुशंसा नहीं की जाती है। मैं कहूंगा कि आपके कैश के लिए 384 एमबी या उससे कम का उपयोग करना एक अच्छी शुरुआत होगी। आप अपने कैश को बढ़ने की अनुमति देते हैं और आप अपनी सिस्टम मेमोरी को प्रभावित नहीं करते हैं।

मैं आपके सर्वर और आपके कैश संतुलन को पूरी तरह से स्मृति आवंटन सुनिश्चित करने के लिए अपने सर्वर की निगरानी करने की अनुशंसा करता हूं।http://techgurulive.com/2009/07/22/how-to-allocate-memory-within-memcached/

+0

के लिए CHAR (9) के बजाय आईएनटी का उपयोग करने की अनुशंसा करता हूं विस्तृत स्पष्टीकरण (+1) के लिए धन्यवाद। मेरा मामला दूसरा बिंदु है जिस पर आपने वर्णन किया है। संक्षेप में आप जो कह रहे हैं वह है - सबसे पहले यह पता लगाएं कि सिस्टम, ओएस और अन्य संसाधनों में फैक्टरिंग के बाद कितनी मुफ्त मेमोरी उपलब्ध है। फिर आवश्यकतानुसार थोड़ी अधिक आवंटित करें (उपलब्धता के आधार पर)। बीटीडब्ल्यू, आप ऊपर 100 एमबी के साथ कैसे आए - बस वर्ण और वर्चर्स जोड़े? – basav

+1

प्रत्येक फ़ील्ड के अधिकतम मूल्य की गणना करके * ग्राहकों की संख्या या आप स्थिर स्थिति प्रदर्शित कर सकते हैं। आपको फ़ील्ड कॉल "डेटा_लेथेंथ" देखना चाहिए (यह मैं MySQL में करता हूं: 'तालिका तालिका दिखाएं', मुझे यकीन है कि इसका ओरेकल संस्करण है)। फिर आप आसानी से कह सकते हैं, यहां मेरा डेटा कितना लगता है, आप थोड़ा सुरक्षित होने के लिए थोड़ा बढ़ाते हैं। लेकिन जैसे मैंने कहा, कोई सही समाधान नहीं है। आपको यह जांचना होगा कि आपके सर्वर के लिए सबसे अच्छा मूल्य क्या है। –

+15

बहुत अच्छी व्याख्या – eric

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