मुझे Magento कम्पाइलर का उपयोग कब करना चाहिए


44

मैं अक्सर लोगों का उल्लेख करता हूं कि वे Magento की संकलक सुविधा का उपयोग करते हैं।

मैं कभी नहीं सोचता और आश्चर्य करता हूं कि आपको कौन से मामलों में इसका उपयोग करना चाहिए और फिर आपके पास कितना प्रदर्शन होगा।

[अस्वीकरण]: जैसा कि मुझे हाल ही में इस बारे में एक संपादित सुझाव मिला है। यह सवाल magento2 di- संकलन के बारे में नहीं है, इसके बारे में भी magento2 नहीं है।


1
संकलक के साथ मेरे बेंचमार्क देखें: byte.nl/blog/should-i-use-the-magento-compiler
Willem

1
आपका apc config गायब है, अब हमारे पास वर्तमान संस्करणों में opcache मॉड्यूल है और कोई समर्थित php संस्करण नहीं है जो अब apc के साथ काम करता है। सॉफ्टवेयर बदलता है, इसलिए समाधान और समाधान करें।
फ्लाइंगमैन

जवाबों:


43

[अस्वीकरण] यह उत्तर केवल Magento 1 में संकलक के लिए है, Magento 2 में संकलक का एक अलग उद्देश्य / प्रभाव है

आपको इसका इस्तेमाल कभी नहीं करना चाहिए।

क्योंकि PHP ने बहुत सारी फाइलों वाले एप्लिकेशन को बेहतर बनाने के लिए कई मैकेनिक्स विकसित किए हैं।

इसका मतलब है: यदि वर्तमान में सही तरीके से कॉन्फ़िगर किया गया है तो php opcache वर्तमान php संस्करण में बेहतर प्रदर्शन में सुधार करता है। उदाहरण के लिए कैश्ड फ़ाइलों के लिए उच्च पर्याप्त सीमा का उपयोग करना। इसके अलावा opCache में फाइलसिस्टम तक पहुँचने वाले फ़ंक्शंस के लिए सुधार हैं जो गहन स्तर पर काम करते हैं तो aoe_classpathcache और प्रदर्शन को और भी बेहतर बनाता है।

अंत में हमारे पास एक ऑटोलॉडिंग है जिसे कंपाइलर के बिना कुछ एमएस की अधिक आवश्यकता नहीं है। ऐसे भी मामले हैं, जहां संकलक ने प्रदर्शन के लिए नुकसान पहुंचाया। संकलक का उपयोग करके अनुप्रयोगों को डीबग करने के लिए पागल समय लेने वाली समस्याओं का उल्लेख नहीं करना।

इसके अलावा, opCache केवल ऑटोलॉडिंग में सुधार नहीं करता है, फाइल सिस्टम फ़ंक्शन अनुकूलन भी टेम्पलेट और लेआउट फ़ाइल लोडिंग में सुधार करता है।

http://php.net/manual/en/opcache.configuration.php


2
तो, आप संकलन, स्पष्ट संकलित फ़ाइलों को अक्षम करने और इसके बजाय opCache का उपयोग करने का सुझाव देते हैं?
पेरिस्फ़

1
यदि आप इसे संक्षेप में प्रस्तुत करते हैं, तो हाँ
फ्लाइंगमैन

3
कम्पाइलर 1.4.1.1, 1.4.2.0 और संभवतः 1.5.1.0 संस्करणों के साथ सबसे उपयोगी एक कीचड़ है। 1.5.1.0 फॉरवर्ड के साथ शुरू करके, कोड अनुकूलन ने इसे कम प्रभावशाली बनाने के लिए शुरू किया। कहीं 1.6 या 1.7 के आसपास, किसी ने ए / बी परीक्षण किया और पाया कि यह वास्तव में कुछ सर्वर कॉन्फ़िगरेशन के तहत सिस्टम को धीमा कर सकता है।
फियास्को लैब्स

3
PHP इंटरप्रेटर के लिए दो सेटिंग्स फ़ाइलों के bazillions के साथ मदद करने के लिए हो सकती हैं जो आपके पास सिस्टम एक्सेस है या आपके होस्टिंग प्रदाता को आपके लिए परिवर्तन करने के लिए प्राप्त कर सकते हैं -> realpath_cache_size=64kऔर realpath_cache_ttl=3600। 64k लगता है कि मीठा स्थान है, लोगों ने अधिक सिफारिश की है, लेकिन प्रदर्शन परीक्षण से पता चलता है कि यह स्मृति की बर्बादी है।
फियास्को लैब्स

2
@FiascoLabs क्या आपके पास अपने "ए / बी परीक्षण" के आंकड़ों का लिंक / स्रोत है? यह देखना अच्छा होगा।
अराम पापाज़ियन

11

"मुझे Magento कम्पाइलर का उपयोग कब करना चाहिए"

यदि किसी कारण से आपके सिस्टम में PHP एक्सेलेरेटर स्थापित नहीं है (संभव नहीं है लेकिन संभव है)

यदि आपका Magento का बहुत पुराना संस्करण चल रहा है (आप वास्तव में नहीं होना चाहिए)

आपको इसे अक्षम क्यों रखना चाहिए?

मैं कुल मिलाकर Fiasco Labs की टिप्पणी से सहमत हूं। जब आपने अपना Magento संस्करण संख्या नहीं दी थी, यह 1.6.1 से अधिक के सभी Magento (CE) संस्करणों के लिए सही है, यदि आप संकलक को एक सिस्टम पर सक्षम करते हैं जिसमें पहले से ही php त्वरक है (जैसे PHP-APC आदि) आपका पूरा स्टोर , व्यवस्थापक पृष्ठों के माध्यम से सही जाँच करने वाले ग्राहक के माध्यम से, धीरे-धीरे धीमी हो जाएगी, इससे भी बदतर, कई प्लगइन्स / मॉड जो आपको मैगनेटो कनेक्ट में मिलते हैं, संकलक सक्रिय के साथ सही ढंग से कार्य नहीं करेंगे।

संक्षेप में, 2014 में कंपाइलर को सक्षम करने का कोई अच्छा कारण नहीं है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.