PHP

2009-06-11 8 views
5

में memcached के लिए लगातार कनेक्शन memcached के हमारे वर्तमान उपयोग में, हम एक उच्च वॉल्यूम सर्वर में समस्याओं में भाग ले रहे हैं क्योंकि हमारे memcache सर्वर से कनेक्शन को स्थापित करने और फाड़ने के लिए इतना समय उपयोग किया जाता है। Memcached मदद के लिए लगातार कनेक्शन का उपयोग इस समस्या को कम करने के लिए करेंगे?PHP

इसके अलावा, लगातार memcahced कनेक्शन कनेक्ट करने और उपयोग करने का पसंदीदा तरीका क्या है? मैं तो बेतरतीब ढंग से एक "pool_size" चर की स्थापना 1-$POOL_SIZE से चुनने और उस कनेक्शन

$mem = new Memcached(rand(1, $pool_size)); 

या तो मैं गलत जगह में देख रहा हूँ का उपयोग करने का सोच रहा था या नहीं बाहर वहाँ इस के बारे में जानकारी का एक बहुत कुछ है।

+2

क्या यह यादृच्छिक कनेक्शन चुनना वाकई आवश्यक है? पहले उपलब्ध एक का चयन करने के लिए बेहतर नहीं होगा? –

+0

मुझे समझ में नहीं आता कि 'पहले उपलब्ध एक' का अर्थ क्या है। यह कैसे काम करेगा? @jW। क्या आपको इसका कभी पता चला? – ficuscr

उत्तर

1

PHP क्लाइंट लगातार कनेक्शन को संभाल नहीं करता है। आपको या तो अपने पूलिंग विचार का उपयोग करने की आवश्यकता है, या तीसरे पक्ष के memcached क्लाइंट का उपयोग php के लिए करें जो निरंतर कनेक्शन का समर्थन करता है।

इस तरह:

http://github.com/andreiz/php-memcached/tree/master

+5

लगता है कि मानक pecl memcache क्लाइंट ने लंबे समय तक लगातार कनेक्शन का समर्थन किया है: http://www.php.net/manual/en/memcache.pconnect.php –

+1

@ फ्रैंक, memcache और memcacheD के बीच एक अंतर है (जोर डी पर) –

+4

memcached में आपको एक सतत आईडी निर्दिष्ट करने की आवश्यकता है http://www.php.net/manual/en/memcached.construct.php – srcspider

1

मैंने पढ़ा है कि लगातार कनेक्शन सुविधा "memcached" PHP एक्सटेंशन में टूट गया है।

पहला: "लगातार" कनेक्शन नष्ट नहीं हुआ है। (यह ठीक है।)

दूसरा: जब आप इसका पुन: उपयोग करने का प्रयास करते हैं, तो यह एक नया बनाता है! (यह बुरा है!)

परिणाम: मेमोरी लीक, सभी उपलब्ध रैम को तेजी से उपभोग कर रहा है।

यहाँ की जांच: http://brian.moonspot.net/php-memcached-issues

जैसा कि मैंने कहा, मैं इस अपने आप को अनुभव नहीं किया है - मैं सिर्फ जुड़ा हुआ लेख में इस जानकारी पढ़ें।

3

दोनों चरम/memcache और pecl/memcached समर्थन प्रति प्रक्रिया लगातार कनेक्शन। हालांकि, इस समय pecl/memcached में बग मौजूद है।

+1

यह मुझे लगता है ... https://bugs.php.net/ bug.php? id = 59191 ... अभी भी 6 साल बाद खुला है? मैं memcached लगातार कनेक्शन से बहुत उलझन में हूँ। – ficuscr

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

  • कोई संबंधित समस्या नहीं^_^