क्यों Magento 2 बेहद धीमी है?


31

मैंने Magento 1.9 का उपयोग किया और यह ठीक था। यह एक सरल जूमला साइट के रूप में तेज़ नहीं था, लेकिन मेरे पास कई ग्राहक थे, जिन्हें कोई समस्या नहीं थी।

अब मैं अपनी साइट को Magento 2 में अपग्रेड करना चाहता था, मैंने एक नया होस्ट खरीदा (जैसा कि वर्तमान में मेरे पास है) और नमूना डेटा के बिना Magento 2 स्थापित किया है और इसका उपयोग करने के लिए एक दर्द है। बस व्यवस्थापक नहीं, लेकिन खाली मुखपृष्ठ के रूप में अच्छी तरह से मिनट लगते हैं लोड करने के लिए और जब मैं एक खाता बनाने की कोशिश करता हूं तो मुझे त्रुटि होती है कि मैं "संसाधन सीमा तक पहुंच गया हूं"

मैंने Facebook FlashCache, OptimumCache और Cloudflare के साथ प्रयास किया लेकिन कुछ भी नहीं बदला है, हालांकि रचनाकारों ने कहा कि Magento 2 पहले संस्करण की तुलना में बहुत तेज है।

मैं यह समझना चाहता हूं कि वे इतने सालों के बाद इसे ठीक क्यों नहीं कर सकते और इतने लोग इसका उपयोग क्यों कर रहे हैं?

वहाँ किसी भी तरह से यह उपवास है?

अद्यतन करें:

मैंने पहले एमजीटी-कॉमर्स का इस्तेमाल किया था और यह अविश्वसनीय रूप से तेज था, लोड करने के लिए 2s से कम समय लगा, लेकिन इसकी लागत बहुत अधिक थी: AWS मूल्य € €.00

उन्होंने डिफ़ॉल्ट रूप से php7 / HHVM, वार्निश, रेडिस, CDN, NGINX की पेशकश की, मुझे लगता है कि यह तेज क्यों था।

मुझे Amazon WS खाता खरीदना पड़ा, मुझे नहीं पता कि मुझे लगता है कि मेरी साइट वास्तव में अमेज़न द्वारा होस्ट की गई थी।

Im कम कीमत के लिए समान गति की तलाश कर रहा है। VPS प्रदाता उदाहरण।

मैं चारों ओर देख रहा था, लेकिन पाया कि प्रत्येक होस्टिंग प्रदाता का दावा है कि उनके पास Magento की मेजबानी है। साइटग्राउंड, मोचहॉट, होस्टगेटर, फास्टकॉम आदि।

शायद एक होस्टिंग प्रदाता है जो प्रतियोगियों को हराने के लिए इन कैश को स्थापित करेगा।

पुनश्च: क्षमा करें, अगर मेरी पोस्ट प्रोग्रामर के लिए मूर्खतापूर्ण लगती है, तो मैं दुर्भाग्य से अर्थशास्त्र, वाणिज्य और विपणन को विश्वविद्यालय में चुना जा सकता हूं :(


क्या आप बता सकते हैं कि आपने फेसबुक फ्लैशचैच, ऑप्टिमेकचैच और क्लाउडफेयर के साथ क्या प्रयास किया है?
मुलपर्दा

1
इसके पर्यावरण मुद्दे की तरह लग रहा है। मेरे vm पर यह FPC <0.1s और FPC <0.01s
KAndy

अक्षम सीएसएस / जे एस भंडार विलय> विन्यास> उन्नत> डेवलपर यहाँ मेरी टिप्पणी को देखने magento.stackexchange.com/questions/150073/...
Konstantin Gerasimov

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

@ और आप लिख सकते हैं कि आप किस vm का उपयोग करते हैं? यदि आप योनि का उपयोग करते हैं तो प्रावधान स्क्रिप्ट को साझा करना संभव होगा? मैंने कई वीएम की कोशिश की लेकिन उनमें से सभी ने काम नहीं किया। Magento की स्थापना सफल है लेकिन फिर पेज लोड नहीं होते हैं।
एलन

जवाबों:


24

Magento 2 के प्रदर्शन को बेहतर बनाने के लिए कई संसाधन उपलब्ध हैं और उनमें से सभी बहुत अच्छी तरह से प्रलेखित हैं।

मोड: Magento 2 ने मोड पेश किए हैं, जो कि सबसे धीमा है। डेवलपर मोड को आज़माएं और उत्पादन मोड में हमेशा अपना लाइव स्टोर चलाएं। अधिक जानकारी यहाँ

कैश: वार्निश बॉक्स से बाहर समर्थित है, कॉन्फ़िगर करने और उपयोग करने के लिए बहुत आसान है।

रेडिस: रेडिस को बदलने के लिए एक वैकल्पिक बैकेंड कैश समाधान है Zend_Cache_Backend_File, जिसका उपयोग डिफ़ॉल्ट रूप से Magento 2 में किया जाता है। इसका उपयोग सत्र भंडारण और पेज कैशिंग के लिए किया जा सकता है।

Memcache: Memcached डेटाबेस कॉल, एपीआई कॉल या पेज रेंडरिंग के परिणामों से मनमाना डेटा (स्ट्रिंग्स, ऑब्जेक्ट्स) के छोटे हिस्से के लिए एक इन-मेमोरी की-वैल्यू स्टोर है। Magento 2 में इसका उपयोग सत्रों के लिए किया जा सकता है ।

PHP 7: Magento 2 बॉक्स से बाहर PHP 7 के साथ संगत है। PHP 7 अच्छे के लिए प्रदर्शन को कैसे प्रभावित करता है, इस पर बहुत शोध किया गया है।

यह केवल शुरुआत है, आपको अपने वेबसर्वर और डेटाबेस सर्वर को ठीक करने में सक्षम होना चाहिए, लेकिन यह आपके विशेष उपयोग के मामले पर बहुत अधिक निर्भर करेगा।

यदि आप नहीं जानते कि यह कैसे करना है तो अपने आप में, Magento की मेजबानी में बहुत सारी कंपनियां विशिष्ट हैं।

एक बहुत ही ठोस देव वातावरण के लिए मेरी व्यक्तिगत सिफारिश पालीरुश वैग्रैंट या वीएम आई है जो मुझे पाठ्यक्रमों के लिए मैगेंटो से मिली है। जल्द ही एक आधिकारिक docker की छवि आने वाली है।


9

Magento डेवलपर मोड में भी यथोचित रूप से चलता है। यह कुछ प्रारंभिक विन्यास की जरूरत है, हालांकि।

पहले सुनिश्चित करें कि Magento को सही ढंग से सेट किया गया है, आपके Ubuntu पर

Magento 2.2+ के रूप में नवीनतम बिल्ड का उपयोग करें। php 7.1 का समर्थन करता है http://devdocs.magento.com/guides/v2.2/install-gde/prereq/php-ubuntu.html

sudo apt-get install php7.1 php7.1-imap php7.1-xml php7.1-dom php7.1-intl

यदि आपके रनिंग मल्टीपल php वर्जन 7.1 डिफ़ॉल्ट पर सेट होते हैं

sudo update-alternatives --set php /usr/bin/php7.1

मैगेंटो पर

  1. पहले से ही नहीं तो डेवलपर के लिए सेट करें php -f bin/magento deploy:mode:show

    php -f bin/magento deploy:mode:set developer

  2. चेक Magento के कैश सक्षम है

    php -f bin/magento cache:status

यदि सक्षम नहीं है (1 की श्रृंखला)

php -f bin/magento cache:enable

JS / CSS बंडलिंग सक्षम करें

स्टोर> कॉन्फ़िगरेशन> उन्नत> डेवलपर

* उपरोक्त मेनू आइटम पर ध्यान दें, केवल डेवलपर मोड में दिखाई देता है

टेम्पलेट सेटिंग

  • HTML = Minify करें

जावास्क्रिप्ट सेटिंग्स

  • जेएस फाइलें मर्ज करें = हां

  • जेएस बंडलिंग सक्षम करें = हाँ

  • जेएस फ़ाइलों को कम से कम = हाँ

सीएसएस सेटिंग्स

  • मर्ज सीएसएस = हाँ
  • सीएसएस कम से कम = हाँ

कैश को फ्लश करने के बाद यहां से कैश फ्लश करें। कैश लोडिंग को बेहतर बनाने की कोशिश के लिए यह आधार रेखा है।

php -f bin/magento cache:flush

उन्नत बंडलिंग

यह अपने आप में एक पोस्ट होगा कि इसे कैसे सक्षम किया जाए, इस पर magento devdocs के दिशानिर्देशों का पालन करें, इससे फ्रंट जेएस लोडिंग में तेजी से 3x की वृद्धि हो सकती है।

रेडिस का प्रयोग करें

sudo apt-get update
sudo apt-get install build-essential tcl8.5
sudo apt-get install make
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
cd utils/
sudo ./install_server.sh

/Www/project/app/etc/env.php संपादित करें

'cache' => 
  array (
    'frontend' => 
    array (
      'default' => 
      array (
        'backend' => 'Cm_Cache_Backend_Redis',
        'backend_options' => 
        array (
          'server' => '127.0.0.1',
          'database' => '0',
          'port' => '6379',
        ),
      ),
      'page_cache' => 
      array (
        'backend' => 'Cm_Cache_Backend_Redis',
        'backend_options' => 
        array (
          'server' => '127.0.0.1',
          'port' => '6379',
          'database' => '1',
          'compress_data' => '0',
        ),
      ),
    ),
  ),

PHP-FPM का प्रयोग करें

apt-get install php7.1-fpm
a2enmod proxy_fcgi setenvif
a2enconf php7.1-fpm
sudo service php7.1-fpm restart
sudo service apache2 restart

PHP में opcache सक्षम करें

संपादित करें /etc/php/7.1/apache2/php.ini opcache.enable खोजें

opcache.enable=1

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

यदि आप अब उत्पादन मोड सक्षम करते हैं php -f bin/magento deploy:mode:set production

आपको पता होना चाहिए कि यह बहुत अच्छी तरह से चल रहा है।

इसे यहाँ से आगे ले जाकर आप वार्निश जोड़ सकते हैं, Nginx पर स्विच कर स्थैतिक फ़ाइलों के लिए एक CDN जोड़ सकते हैं।


2

MAMP के साथ मुझे मैकबुक प्रो (2016 के अंत) में भी यह समस्या थी।

मैं क्या करना चाहता था एक Magento 2 विषय बनाने के लिए। मैंने सभी कैश को निष्क्रिय कर दिया था और एक पेज (फ्रंटएंड और बैकएंड) को फिर से लोड करने के लिए 30s की तरह लग रहा था।

मैंने कमांड "php magento कैश: इनेबल" के साथ सभी कैश को सक्रिय कर दिया है और साइट बहुत तेजी से लोड होती है। मैं अभी भी किसी भी कैश प्रकार को निष्क्रिय किए बिना ग्रन्ट और लेस के साथ काम कर सकता हूं।


1

Magento 2 डिफ़ॉल्ट रूप से धीमा नहीं है। आपको इसे तेज़ बनाने के लिए इन चरणों का पालन करना होगा:

  1. सर्वर और सिस्टम आवश्यकताएँ

  2. अद्यतन Magento के संस्करण

  3. वार्निश कैश सक्षम करें

  4. कॉन्फ़िगर किया गया मेमेकैट्स

  5. फ्लैट श्रेणियां और उत्पाद सक्षम करें

  6. जावास्क्रिप्ट और सीएसएस का अनुकूलन करें

  7. सामग्री वितरण प्रसार

  8. हल्के विषय का उपयोग करें

  9. बग-मुक्त एक्सटेंशन

  10. छवियाँ पूरी तरह से अनुकूलित होनी चाहिए


22
मुझे क्षमा करें, लेकिन यदि आपको किसी एप्लिकेशन में कई स्तरों को जोड़ना है, तो यह डिफ़ॉल्ट रूप से धीमा है।
रॉबर्ट एगिंटन

रॉबर्ट: यार, बहुस्तरीय प्रणाली की कई परतों में कैश जोड़ना सही तरह का आर्किटेक्चर है। हम कैश पर कैश की बात नहीं कर रहे हैं ... -o-
miracules

विकास के दौरान कैश का उपयोग करना वास्तव में एक इष्टतम समाधान नहीं है। हर बार जब कोई बदलाव किया जाता है तो क्लीयरिंग कैश के रूप में संकलित भाषा में विकसित होने जैसा महसूस करता है।
एलन

0

आप कैसे आंकड़ा करते हैं Magento 2 धीमा है? मेरी साइट जो बहुत भारी थीम का उपयोग करती है, पृष्ठ गति में एक ठोस 93/100 स्कोर है और लोड समय 2 सेकंड हैं। मैं कहूंगा कि मैगेंटो के लिए एक बेहतर मेजबान मिलेगा क्योंकि आपका वेब सर्वर आपकी साइट के प्रदर्शन में एक बड़ी भूमिका निभाता है। "डिफ़ॉल्ट" मोड के लिए सबसे धीमी गति से सच नहीं है। मैंने डिफॉल्ट मोड में अपने स्टोर को तब तक चलाया जब तक कि मैं प्रोडक्शन मोड पर स्विच करने के लिए तैयार नहीं हो गया और इसने डिफॉल्ट मोड में 91/100 स्कोर किया और उत्पादन मोड में स्विच करने के बाद केवल 93/100 पर चला गया।

यदि आप वास्तव में Magento 2 का उपयोग करना चाहते हैं, तो बेहतर होस्ट और बेहतर वेब सर्वर प्राप्त करें।


magento cache:disableलोड समय 30 सेकंड से अधिक होने के बाद ।
टॉम एंडरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.