आपको इन दो उत्पादों के बीच स्पष्ट अंतर को समझने की आवश्यकता है कि उन्हें कैसे उपयोग किया जाए।
- APC एक OPCode कैश और फास्ट बैकएंड दोनों है
- Memcache सिर्फ फास्ट बैकेंड है
APC को OPCode Cache के रूप में उपयोग करना
बस अपने सर्वर पर मॉड्यूल स्थापित करें
pecl install apc
और इसे अपने में सक्षम करें php.ini
echo "extension=apc.so" >> /usr/lib/local/php.ini (RedHat/Centos)
echo "extension=apc.so" >> /etc/php5/conf.d/20apc.ini (Debian)
फिर आप सक्षम और रनटाइम कॉन्फ़िगरेशन को ठीक करने के लिए, जैसे।
apc.enabled
apc.shm_seolution
apc.shm_size
apc.optimization
apc.num_files_hint
apc.user_entries_hint
apc.ttl
apc.user_ttl
...
फिर PHP / Apache को पुनरारंभ करें
/etc/init.d/httpd restart (RedHat/Centos)
/etc/init.d/apache2 restart (Debian)
उसके बाद, और कुछ करना नहीं है। APC की पुष्टि करें एक त्वरित के साथ सक्षम है phpinfo()
- लेकिन अन्यथा, इस बिंदु पर, APC का OPCode कैश भाग सक्रिय है।
Magento के पक्ष में कुछ भी कॉन्फ़िगर करने की आवश्यकता नहीं है।
एपीसी को फास्ट बैकेंड के रूप में उपयोग करना
आपको निम्नलिखित को अपने साथ जोड़ना होगा ./app/etc/local.xml
<global>
...
<cache>
<backend>apc</backend>
<prefix>mystore_</prefix>
</cache>
...
</global>
फिर अपने मौजूदा स्टोर कैश को फ्लश करें। यह सत्यापित करने के लिए कि यह काम कर रहा है, फ्रंट-एंड में एक पेज लोड करें और ./var/cache
डायरेक्टरी खाली रहनी चाहिए।
मेमेचे का उपयोग फास्ट बैकेंड के रूप में करना
आपको मेम्चे को PHP एक्सटेंशन के रूप में स्थापित करना होगा, और अपने सर्वर पर संबंधित मेकचे डेमन (मेम्केड) को स्थापित करना होगा।
pecl install memcache
और इसे अपने php.ini में इनेबल करें
echo "extension=memcache.so" >> /usr/lib/local/php.ini (RedHat/Centos)
echo "extension=memcache.so" >> /etc/php5/conf.d/20memcache.ini (Debian)
/etc/init.d/httpd restart (RedHat/Centos)
/etc/init.d/apache2 restart (Debian)
फिर सर्वर पर मेम्केड को स्थापित करें। आरएच / सेंटोस के लिए, अपने रिलीज़ संस्करण और सीपीयू वास्तुकला के अनुरूप URL को समायोजित करें।
rpm -Uhv http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
yum --enablerepo=rpmforge install memcached
apt-get install memcached (Debian)
फिर एक तेज बैकेंड के रूप में मेमेचे का उपयोग करने के लिए मैग्नेटो को संशोधित करें, सॉकेट पथ को सूट करने के लिए टीसीपी / आईपी कनेक्शन में बदलें।
<cache>
<slow_backend>database</slow_backend>
<fast_backend>memcached</fast_backend>
<fast_backend_options>
<servers>
<server>
<host>unix:///tmp/memcached.sock</host>
<port>0</port>
<persistent>0</persistent>
</server>
</servers>
</fast_backend_options>
<backend>memcached</backend>
<memcached>
<servers>
<server>
<host>unix:///tmp/memcached.sock</host>
<port>0</port>
<persistent>0</persistent>
</server>
</servers>
</cache>
Memcache और टैगिंग के गुहाओं - यह क्या भंडारण है
Memcache केवल कुंजी-स्तरीय रिश्तों के एक स्तर का समर्थन करता है, इसलिए यह Magento कैश टैग्स को संग्रहीत नहीं कर सकता (जो कि स्वतंत्र रूप से कैश डेटा को फ्लश करने के लिए उपयोग किया जाता है)। परिणामस्वरूप, आपको या तो slow_backend
कैश सामग्री टैग संबंध बनाए रखने के लिए निर्दिष्ट करने की आवश्यकता है , या किसी एक को परिभाषित नहीं करना है।
यदि आप इसे परिभाषित करते हैं slow_backend
, तो आप कैशे टैग के बढ़ने का जोखिम इतना बड़ा लेते हैं कि प्रदर्शन नकारात्मक हो जाता है; यदि प्रत्येक सर्वर अपने स्वयं के कैश टैग को बनाए रख रहा है, तो आप एक से अधिक सर्वरों को स्केल नहीं कर सकते हैं।
तो जब मेमेचे का उपयोग करते हैं, तो बेहतर तरीका ( कैविट के साथ आप कैश को स्वतंत्र रूप से फ्लश नहीं कर सकते हैं), का उपयोग करने से परेशान नहीं है slow_backend
।
किस स्थिति में, हम <slow_backend>database</slow_backend>
इसे हटाने और बदलने का सुझाव देते हैं :
<slow_backend>Memcached</slow_backend>
<slow_backend_options>
<servers>
<server>
<host>unix:///tmp/memcached.sock</host>
<port>0</port>
<persistent>0</persistent>
</server>
</servers>
</slow_backend_options>
यह कैशिंग के दूसरे स्तर को तोड़ देगा / निष्क्रिय कर देगा (और टैग संग्रहण को रोक देगा), लेकिन फिर भी मेमकेच के प्रदर्शन की अनुमति देगा।
जिसका उपयोग करना है
यदि इसका एक ही सर्वर परिनियोजन - सब कुछ के लिए एपीसी का उपयोग करने से कोई नुकसान नहीं है।
यदि इसका वितरित सेट-अप है - तो आपको मेमेचे को तेज बैकएंड के रूप में उपयोग करना होगा (ताकि सभी मशीनें आम स्टोर तक पहुंच सकें)।
अधिक विषय यह है कि यदि आपका होस्टिंग प्रदाता आपको उपयोग करने के लिए सही सेट नहीं बता सकता है, तो आप निश्चित रूप से गलत होस्ट के साथ हैं।
विशेषताएं: sonassi.com , php.net , repoforge.org