मैगेंटो 2 लोकलहोस्ट डेवलपमेंट पर इतना धीमा चल रहा है


25

मैंने हाल ही में magento2 नए एक्सटेंशन या कस्टमाइज़ेशन पर विकसित करना शुरू कर दिया है, और मेरा पहला प्रभाव एक बुरा सपना था। मेरे द्वारा किए जाने वाले प्रत्येक परिवर्तन के लिए मुझे लगभग 20-30 इंतजार करना होगा? वास्तव में?

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

मेरा सवाल है, आप सभी M2 डेवलपर्स कैसे काम करते हैं? क्योंकि मुझे विश्वास नहीं है कि पेज को ताज़ा करने के लिए आपको 20s-30s का इंतज़ार करना होगा ...

मेरा वातावरण: मेरा पीसी 8 जीबी रैम के साथ "अच्छा" i5 है। मुझे विंडोज के साथ काम करने की आवश्यकता है इसलिए मैं योनि का उपयोग करता हूं:

  • सभी 4 कोर सीपीयू का उपयोग
  • 5120MB RAM का उपयोग करें
  • उबंटू / भरोसेमंद - उबंटू 14.04
  • PHP संस्करण 7.0.12-1 + deb.sury.org ~ भरोसेमंद + 1
  • MariaDB - 10.1.18-MariaDB-1 ~ भरोसेमंद
  • Magento 2.1.2 केवल नमूना के साथ स्थापित किया गया है (कोई और मॉड्यूल स्थापित नहीं हैं)
  • (मुझसे पूछें कि क्या आप sth अधिक जानना चाहते हैं)

वास्तव में क्या हो रहा है? आमतौर पर M2 जवाब देता है ठीक है, धीमा है, लेकिन ठीक है, पृष्ठों को लोड करने के लिए लगभग 5-10s, लेकिन कभी-कभी (आमतौर पर कभी-कभी अधिक) यह बस हमेशा के लिए चिपक जाता है! कभी-कभी पहला पृष्ठ होता है और कभी-कभी css, js, html फाइलें होती हैं लेकिन हमेशा समस्या TTFB के साथ होती है।

मैंने सेटअप विज़ार्ड में जाने में एक समस्या देखी ... angular.js के साथ ये फाइलें हमेशा के लिए रहती हैं ...

ये 2 तस्वीरें सेटअप विज़ार्ड के अंदर नेविगेट करने के बारे में हैं।

http://imgur.com/Izoyuhj http://imgur.com/Vs5q8eT

फिर एक और एक दृश्यपटल पर नौवहन: http://imgur.com/oXYC52D

मैं क्या पूछ रहा हूँ? क्या यह सामान्य है? तुम लोग इस टाइमिंग के साथ काम करते हो? मैंने कुछ सहयोगियों के साथ यह टिप्पणी की और हमें विश्वास नहीं हुआ, मुझे इस तरह काम करना होगा? मैं कभी-कभी स्क्रीन देखने के लिए हर समय प्रतीक्षा करता हूं ...

अगर कोई मुझसे कोई टेस्ट दिखाने के लिए कहे, जैसे कोई नया प्रोडक्ट बनाना या ऐसा कुछ बनाना जिससे वह बस बाहर निकल जाए ... एक नया ऑर्डर बनाना, फील्ड्स और हर फील्ड को भरना एक जेएस को अंजाम देता है जो 5-6 के लिए रहता है ...

मुझे नहीं पता लेकिन मुझे इस सामान के साथ इतना बुरा लग रहा है ...


Magento 2 के साथ खेलने का मौका नहीं मिला: लेकिन आईडी मानती है कि अधिकांश प्रदर्शन मुद्दे आपके योनि परिवेश से आते हैं। क्या आप वर्चुअलबॉक्स का उपयोग आवारा या कुछ और के साथ करते हैं। वर्चुअलबॉक्स के साथ कई कोर का उपयोग प्रदर्शन को नीचा दिखाता है। क्या आप योनि पर एक साझा फ़ोल्डर से Magento चलाते हैं> Magento उसी फ़ाइल पर फ़ाइलें लिखता है जिसमें आपको प्रदर्शन समस्याएँ मिलती हैं।
ओली टायनेला

इसके अलावा, आप अपने सिस्टम पर मेमोरी से बाहर चल रहे हो सकते हैं, यदि आप 5gigs योनि देते हैं तो मेजबान पर स्वैप का उपयोग करने के लिए क्या होता है। यदि आपको वास्तव में इसकी आवश्यकता है तो केवल राशि बढ़ाएँ।
ओली टायनेला

आपकी समस्या का एक बड़ा हिस्सा यह है कि आप विंडोज पर हैं। मैं वर्षों से विंडोज पर था और यह योनि / मैजेंटो के साथ सुपर स्लो था। यह फ़ाइल सिंकिंग मोड के कारण है, इसकी nfs के बराबर नहीं है। मैंने उबंटू डेस्कटॉप में दोहरी बूटिंग शुरू की और मेरी मैगनेटो साइटें बहुत तेज़ थीं, फिर थोड़ी देर बाद मुझे एक मैक मिला, जो एनएफएस का उपयोग करता है, और यह बहुत तेज़ भी है।
शॉन अब्रामसन

हाँ, यह virtualbox के साथ योनि है। अधिक कोर का उपयोग करके प्रदर्शन को नीचा दिखाना क्यों है? मुझे लगता है कि VM को सभी संसाधन देने वाला "मेरा पीसी" धीमा हो सकता है, लेकिन मेरे VM को तेज़ कर सकता है ... और जो फ़ोल्डर मैं उपयोग कर रहा हूं, वह है / var / www (मैंने साझा किए गए फ़ोल्डर का उपयोग नहीं करने की कोशिश की, यह केवल "लिनक्स" है जो चल रहा है अभी व)। मैं कैसे देख सकता हूं कि क्या विफल हो रहा है? मैं शीर्ष निष्पादित कर सकता हूं, या उस तरह की आज्ञा दे सकता हूं .... लेकिन यह नहीं जानता कि कैसे व्याख्या की जाए ...
slayerbleast

जवाबों:


8

मैंने सब कुछ करने की कोशिश की और केवल एक चीज जो काम करती है वह आभासी मशीन है जो बिटनामी प्रदान करती है। https://bitnami.com/stack/magento/virtual-machine

गंभीरता से, मुझे नहीं पता कि यह vm क्या है, लेकिन वास्तव में तेजी से जाता है। मैंने Ubuntu, CentOS, इत्यादि की एक नई स्थापना का उपयोग करके अपना VM बनाने की कोशिश की, लेकिन इस VM की तरह कोई भी काम इतना बढ़िया नहीं है।


मुझे लगता है कि इस वीएम की कल्पना में बड़ा अंतर मेमेकैच का है? जो, मेरे विंडोज पर (PHP 7 पर कम से कम, संभव नहीं है)
मैकेआईई

6

सीएसएस / जेएस को मर्ज करना और छोटा करना

Stores > Configuration > CSS Settings (Javascript Settings) > Merge CSS (Merge JS) > NO

Stores > Configuration > CSS Settings (Javascript Settings) > Minify CSS (Minify JS) > NO

Magento 2 के प्रदर्शन को बेहतर बनाने के तरीके पर भी इस गाइड को देखें ।


1
डिफ़ॉल्ट सेटिंग्स में पहले से ही ये मूल्य हैं। और यह इतना प्रभावित नहीं करता है ...
slayerbleast

तो क्या विलय एक ऑनलाइन सर्वर पर उपयोगी होगा? प्रसंस्करण और डाउनलोड न करने की दिशा में अधिक ओवरहेड?
मोहम्मद जोरेद

आप सीएसएस / जेएस मर्जिंग और मिनिमाइज़िंग को क्यों अक्षम करेंगे, यह वास्तव में गति को बढ़ाने के लिए एक विकल्प है, यह मुझे अपने आप को पैर में गोली मारने जैसा लगता है
जॉन

4

मैंने पाया कि डेवलपर मोड ने सब कुछ अक्षम कर दिया है - जो ओवरकिल था। ऐसे कुछ पहलू हैं जो मैं अनुवाद के रूप में कैश करना चाहता हूं। शुक्र है कि env.phpआप अभी भी विशेष रूप से उपयोग करने के लिए कौन सा कैश सेट कर सकते हैं:

'cache_types' => 
      array (
        'config' => 1,
        'layout' => 0,
        'block_html' => 0,
        'collections' => 1,
        'reflection' => 1,
        'db_ddl' => 0,
        'eav' => 1,
        'customer_notification' => 1,
        'target_rule' => 1,
        'full_page' => 0,
        'config_integration' => 1,
        'config_integration_api' => 1,
        'translate' => 1,
        'config_webservice' => 1,
        'compiled_config' => 1,
      ),

यह ऊपर था कि मैंने चेकआउट पर विकसित होने के दौरान कैश करना चुना, क्योंकि यह भारी-भरकम था। मैंने कैश लेआउट को नहीं चुना; मेरे परिवर्तन देखने के लिए ब्लॉक और पूर्ण पृष्ठ।


बहुत - बहुत धन्यवाद! मुझे यह समस्या थी, क्योंकि मैंने Magento2 को एक नए संस्करण में अपग्रेड किया और एक नई स्थापना की। जाहिरा तौर पर यह मेरे env.php को अधिलेखित कर रहा था, जिसने इसे अंतहीन रूप से धीमा कर दिया। यह सुधार करने के लिए env.php ने इसे ठीक किया। एक बार फिर धन्यवाद!
कोडिगा

4

इस प्रश्न के उत्तर के बाद पोस्ट किए गए Magento के सुझाव। अन्य उत्तरों को पढ़ना मुझे लगता है कि यह जानकारी एक सहायक जोड़ हो सकती है

http://devdocs.magento.com/guides/v2.2/extension-dev-guide/build/optimal-dev-environment.html

इष्टतम विन्यास

निम्नलिखित उन अनुकूलन की सूची है जो आप अपने स्थानीय विकास मशीन पर बना सकते हैं

  • Magento प्रदर्शन को बढ़ाने के लिए PHP 7 के नवीनतम समर्थित संस्करण को स्थापित करने और उपयोग करने की सलाह देता है।
  • अपने MySQL डेटाबेस को Percona से बदलें।
  • सुनिश्चित करें कि आप PHP OPcache स्थापित और सक्षम करें।
  • Xdebug डिफ़ॉल्ट रूप से बंद है। इस सुविधा को केवल तब ही सक्षम करें जब आपको इसकी आवश्यकता हो क्योंकि इसमें बहुत अधिक मेमोरी की आवश्यकता होती है और प्रदर्शन में गिरावट होती है। Magdento के लिए xdebug.max_nesting_level कॉन्फ़िगरेशन को 200 या अधिक पर सेट करने की आवश्यकता है। आप Xdebug के साथ प्रदर्शन में वृद्धि प्राप्त करने के लिए PHP के लिए उपलब्ध मेमोरी बढ़ा सकते हैं।
  • यदि आपको नमूना डेटा की आवश्यकता है, तो आप इसे कंपोजर का उपयोग करके या रिपॉजिटरी को क्लोन करके स्थापित कर सकते हैं।
  • फ्रंट एंड डेवलपमेंट को गति देने के लिए, सीएसएस और जावास्क्रिप्ट का विलय बंद करें।
  • सुनिश्चित करें कि कैशिंग चालू है (यह डिफ़ॉल्ट व्यवहार है)। आम तौर पर, केवल पृष्ठ कैश और ब्लॉक कैश को विकास के लिए बंद कर दिया जाना चाहिए और परीक्षण करते समय वापस कर दिया जाना चाहिए।
  • Opcache टाइमस्टैम्प सत्यापन हमेशा विकास के लिए होना चाहिए। किसी भी PHP संशोधन को कैश रीसेट की आवश्यकता होगी, क्योंकि opcache पर और पुन: अमान्य होने से विकास असंभव है।

मेरे लिए ओपचेस ने चाल चली। इसकी लोडिंग अभी काफी तेज है।
अमित सिंह

एक और चीज जो मैंने सामना किया है वह है Xdebug को डिफ़ॉल्ट रूप से सक्षम किया जा सकता है जिसमें एक प्रदर्शन हिट है। /Usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini चेक करें मुझे बदलने के बाद आपको लगता है कि आपको कंटेनर do पुनः आरंभ करने की आवश्यकता है {वेब-कंटेनर-नाम}
Ian with Xantek

1

अपना कैश चालू करें।

<your magento 2 directory>/binइस कमांड पर जाएं और चलाएं magento cache:enable

जब आप सामने वाले को एडिट करते हैं तो कैशे को साफ करें।

<your magento 2 directory>/binइस कमांड पर जाएं और चलाएं magento cache:clean

मेरा संदर्भ

मैं Magento 2 के लिए भी नया हूँ। मुझे उम्मीद है कि कैश अक्षम होने पर भी किसी के पास मैगनेटो 2 फास्ट बनाने का एक तरीका है।


1
अगर यह एक व्यवहार्य समाधान है पता नहीं है ... हर जगह यह विकास मोड पर कैश को अक्षम करने के लिए कहता है ...
Slayerbleast

6
बेशक अगर मैं कैश को सक्षम करता हूं, तो साइट तेजी से आगे बढ़ेगी ... लेकिन हर बदलाव मुझे कैश को साफ करना होगा ... अभी भी मुझे लगता है कि समय की बर्बादी होती है ...
स्लेयरब्लास्ट

1

LESS एडिट के लिए फ्रंटएंड डेवलपमेंट के लिए Ubuntu 16.10 पर मेरा सेटअप :

  1. डेवलपर मोड सेट करें:

    php bin/magento deploy:mode:set developer

  2. सभी कैश सक्षम करें:

    php bin / magento c: सक्षम करें

  3. सर्वर साइड संकलन के लिए निर्धारित विकास वर्कफ़्लो

  4. कम फ़ाइलों में किसी भी परिवर्तन के बाद चलाते हैं

    साफ साफ

(पिछली बार जब मैं शुरू करने का प्रबंधन करता हूं - लाइव ब्राउज़िंग और इसके महान के साथ गंभीर घड़ी)


0

बस अपने व्यक्तिगत अनुभव को साझा करना चाहते हैं, जो समाधान मैं आया वह था Xppp को php संस्करण 7.0 के साथ स्थापित करना क्योंकि Magento Php के उच्च संस्करण के साथ पूरी तरह से संगत नहीं है। मैंने उत्तर में सूचीबद्ध Bitnami छवि की कोशिश की, लेकिन मैंने Xampp 7.0.23 डाउनलोड लिंक की उम्मीद के अनुसार काम नहीं किया


वास्तव में? Xampp के साथ ठीक काम कर रहा है? मैंने कई बार कोशिश की और यह भयानक था ... क्या मैगेंटो संस्करण? हो सकता है कि उन्होंने इस समय के साथ कुछ प्रदर्शन ठीक किया हो। मैं फिर से कोशिश करता हूँ। और Bitnami Image काम क्यों नहीं कर रही है जैसी आपको उम्मीद थी?
slayerbleast

मेरे पास Magento 2.1 और Xampp 7.0 लिंक ऊपर जोड़ा गया है, Xampp 7.0 की तुलना में Bitnami छवि की तुलना में मैंने xampp को आसान और तेज़ पाया
user3127648

0

memory_limitPhp.ini फ़ाइल में PHP बढ़ाने से अच्छा अंतर आएगा। हालांकि यह इसे बहुत सुचारू नहीं करेगा (हालाँकि इसमें समय की बचत होगी)।

डिफ़ॉल्ट मान 512M है। अपनी स्थानीय मशीन पर मैंने इसे "-1" (असीमित) पर सेट किया और यह बेहतर लोडिंग समय देता है।

अनुशंसित मूल्य है memory_limit = 2G जिसका उल्लेख यहां किया गया है

Magento भारी है और SSD जैसे उच्च प्रदर्शन हार्डवेयर को सुचारू बनाने की आवश्यकता है :(


memory_limitजिसका प्रदर्शन से कोई संबंध नहीं है। यह निर्देश के नाम से स्पष्ट है।
Danila Vershinin

@DanielV। मैं भी इस बारे में सोच रहा था, लेकिन फिर मुझे यह मिला: devdocs.magento.com/guides/v2.2/install-gde/prereq/… जहां यह 2 जी को अनुशंसित मूल्य के रूप में कहता है
बिनोद - गोफंडमोनिका

1
फिर, यह अपने स्वयं के कारणों के लिए अनुशंसित है। जिनका प्रदर्शन से कोई संबंध नहीं है। कुछ PHP स्क्रिप्ट्स (या इस मामले में, Magento मॉड्यूल) सर्वर रैम के सभी खाने को समाप्त करने की स्थिति में मेमोरी सिस्टम केवल आपके सिस्टम को पूरी तरह से रोकने के लिए नहीं है। मूल्य को बहुत कम या बहुत अधिक सेट करने से कोई प्रदर्शन प्रभाव नहीं होता है। यह प्रणाली को अधिक विफल बनाने के लिए बस निवारक निर्देश है। और मुझे आश्चर्य है कि लोग आँख बंद करके मान लेते हैं कि इसके लिए अधिक मेमोरी देने का मतलब है कि इस निर्देशन के माध्यम से प्रदर्शन हासिल किया गया है। यह नहीं है और कभी नहीं होगा।
डैनिला वर्शिन

दिलचस्प बिंदु, डैनियल। मैंने आँख बंद करके यह मान लिया था कि वास्तव में। हम इसे कैसे प्रदर्शित कर सकते हैं? कोई संकेत जो आप मुझे मार्गदर्शन कर सकते हैं ताकि मैं इसका अनुभव कर सकूं?
बिनोद - गोफंडमोनिका

इसे बहुत कम सेट करें (उदाहरण के लिए 16 एमबी जो निश्चित रूप से एम 2 के लिए पर्याप्त नहीं है) और पीएचपी घातक त्रुटि के साथ विफल हो जाएगा। आप जितने अधिक मॉड्यूल स्थापित कर सकते हैं और इसे बहुत अधिक सेट कर सकते हैं (उदाहरण के लिए 4GB) और चीजें ठीक चलेंगी जब तक कि आपको कुछ और साइट विज़िटर नहीं मिलेंगे, जो निश्चित रूप से आपके सर्वर को आउट ऑफ मेमोरी स्थिति तक पहुंचा देगा। यदि आपको सिर्फ उस निर्देश के लिए डॉक्स पढ़ना है तो आपको इन प्रयोगों की आवश्यकता नहीं है। PHP हर समय मेमोरी में चलता है। यह डिस्क को स्वैप नहीं करता है या इस तरह से अजीब चीजें नहीं करता है।
डानिला वर्शिन

0

यदि आपकी समस्याएं वैग्रांट बॉक्स पर सेट होने में समस्या आती हैं, तो यह लगभग निश्चित रूप से होगा कि आपके फ़ोल्डर कैसे साझा किए जाते हैं। उन्हें एनएफएस पर साझा किया जाना चाहिए।

बहुत सारे अलग-अलग बॉक्स के साथ गड़बड़ करने के बाद, मुझे एहसास हुआ कि यद्यपि मैंने एनएफएस को कॉन्फ़िगर में सेट किया था, यह वास्तव में काम नहीं कर रहा था और मानक वर्चुअलबॉक्स साझाकरण प्रणाली को ले रहा था।

मैं मूल बातों पर वापस गया और एक सरल LEMP बॉक्स सेट किया और इस प्लगइन को स्थापित किया:

https://github.com/Learnosity/vagrant-nfs_guest

पुष्टि एनएफएस काम कर रहा था और सब कुछ ठीक था।


0

चीजें जो आपके मैगनेटो 2 सेटअप को आपके स्थानीय सर्वर पर या सामान्य रूप से किसी भी सर्वर एनवायरमेंट पर बना सकती हैं।

  1. JS और CSS को छोटा करें
  2. Redis या Memcached जैसे कैशिंग एप्लिकेशन का उपयोग करें।
  3. Magento 2 द्वारा प्रदान किए गए सभी कैश जैसे ब्लॉक_एचटीएमएल, लेआउट, पेज_केच आदि को सक्षम करें।
  4. मर्ज CSS और JS
  5. फ्लैट उत्पादों और श्रेणियों को सक्षम करें।

अब जब विकास के मोर्चे पर कैश के पूरे पुनर्निर्माण को रोकने के लिए पूरे कैश को फ्लश करने के बजाय केवल आवश्यक कैश फ्लश करें।


0

डेवलपर मोड में Magento2 धीमा होने का मुख्य कारण मक्खी पर उत्पन्न होने वाली हजार स्थिर और संकलित फ़ाइलों से संबंधित है।

इसके लिए 3 समाधान हैं:

  • एनएफएस (एसएसडी अभी भी अनिवार्य है) के साथ पूरी निर्देशिका माउंट करें।

  • केवल ऐप निर्देशिका (जो भी आपका हार्डवेयर ठीक काम करेगा) को माउंट करें लेकिन आप अपने होस्ट मशीन पर / विक्रेता निर्देशिका तक पहुंच खो देते हैं।

  • Rsync के साथ पूरी परियोजना को माउंट करें और निर्देशिकाओं को बाहर करें जहां फाइलें उत्पन्न होती हैं (पब / स्थिर, उत्पन्न / कोड आदि ...)।

मैंने वह काम किया, इसे आज़माएँ: https://github.com/zepgram/magento2-fast-vm/

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