Magento साबुन v1 को गति दें


10

अनुभवी मैगनेटो डेवलपर्स के लिए मेरे पास कई प्रश्न हैं:

  1. क्या यह संभव है कि Magento v1 साबुन एपीआई की गति में सुधार हो? जब डेटा का अनुरोध करते हैं तो ग्राहक की आदि जैसी सरल जानकारी संकलित करने के लिए मैजेंटो के लिए जल्दी से 1.5 सेकंड का समय लगता है ...

    कई संभावित प्रासंगिक डेटा नोड्स का अनुरोध करने के लिए जल्दी से लगभग 5-7 सेकंड खर्च हो सकते हैं।

    अब मैं पहले से ही AJAX अनुरोधों के माध्यम से उन अनुरोधों को कर रहा हूं ताकि पृष्ठ इंटरफ़ेस जल्दी से लोड हो, लेकिन एक गति सुधार अच्छा होगा।

  2. या यह बेहतर होगा कि मैगेंटो डीबी से सीधे संबंधित जानकारी देने के लिए अपना खुद का आवेदन लिखें? यह एक db के जटिल नहीं है और अगर मैं एक प्रत्यक्ष प्रश्न करता हूँ तो यह 100 सेकंड के भीतर परिणाम के साथ लोड होता है ...

    केवल उस विकल्प के साथ मेरे विचार हैं:

    1. यदि मैगेंटो अपडेट और परिवर्तन करता है तो यह डेटाबेस स्कीम क्या है?
    2. या Magento के डेटाबेस सेटअप अपेक्षाकृत उन्नत सुरक्षित / नीचे संगत है?

किसी को भी इस और उनकी सफलता या faillure कहानियों के साथ कोई अनुभव नहीं है? मुझे यह जानने के लिए कि कैसे आगे बढ़ना है, को सूचित करने के लिए एक सूचित अपव्यय करने की आवश्यकता है।


1
इसकी संभावना PHP बाध्य है, MySQL, Nginx या कुछ और नहीं । आपके स्टोर के बाकी समान। अपना स्टोर तेज करें और एपीआई अनुसरण करेगा। हालाँकि, इसकी गति कभी भी हल्की नहीं होने वाली है - डेटाफ्लो / एपीआई पद्धतियाँ भले ही धीमी हों, इसलिए कस्टम कार्यान्वयन, प्रबंधन की लागत / कार्यान्वयन समय / अपग्रेडेबिलिटी की कीमत पर हमेशा बेहतर रहेगा।
बेन लेसानी - सोनासी

3
नहीं, यह बाध्य नहीं है ... यह Magento का पूरा सेटअप है जो चीजों को अविश्वसनीय रूप से धीमा कर रहा है। कई मदों और खरीदारी कार्ट के साथ एक बड़े स्टोरव्यू पेज का अनुरोध करने के लिए साबुन एपी अनुरोध को पूरा करने में अधिक समय लगता है। Magento के डिजाइन में कुछ पूछना है।
8

जवाबों:


8

मैं वास्तव में इस मुद्दे को बड़े पैमाने पर सामना कर चुका हूं, और मैंने इसके चारों ओर काम किया है बस सीधे Magento की वस्तुओं के साथ काम करके। मुझे लगता है कि कोड परिवर्तन और आपके द्वारा वर्णित व्हाट्सएप की चिंता है, लेकिन मेरा अधिकांश कोड पुराने डेटा, उस तरह की चीजों को लोड करने के लिए एकल-उपयोग स्क्रिप्ट में है, इसलिए यह एक मामूली चिंता थी। Magento ऑब्जेक्ट्स के साथ सीधे काम करने का भी साइड इफ़ेक्ट होता है जिससे मुझे इन्टर्नल्स सीखने में थोड़ा और फायदा होता है क्योंकि मैं सिर्फ SOAP API के साथ भी, - स्टेपर लर्निंग कर्व फॉर श्योर, लेकिन मुझे लगता है कि क्या हो रहा है वहाँ से अगर मैं केवल SOAP एपीआई का उपयोग करने के लिए अटक गया था।

एक और विकल्प हमने कोशिश की कि मेम्केच्ड (या कुछ ऐसा काम करेगा जैसे रेडिस भी) डेटा का कैशिंग कर रहा है , हालांकि अब आपको चिंता करना होगा कि कैश को कितनी बार अपडेट करना है, कहां से, और जैसी चीजें। लेकिन, यह बहुत तेजी से डेटा प्राप्त करने के लक्ष्य को प्राप्त करता है। मुझे लगता है कि यह एक अच्छा विकल्प है या नहीं, यह इस बात पर निर्भर करेगा कि आप क्या करने की कोशिश कर रहे हैं।


ठीक है, अगर मैं मैगेंटो से कुछ बनाने के लिए था, तो मैं बहुत तेजी से लाभ प्राप्त नहीं करूंगा क्योंकि मैगेंटो को अभी भी अनुरोध को संभालने के लिए "बूट अप" होना है। मुझे साबुन एपी पसंद है क्योंकि यह "बदलता नहीं है" लेकिन मुझे इस तथ्य से नफरत है कि यह सवालों के सरलतम तरीके से जवाब देने के लिए इतना अविश्वसनीय धीमा है। यहां तक ​​कि मुख्य साइट जिसे बहुत अधिक अनुरोधों को संभालना है, बहुत तेज है।
शाचलाका

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

1
हो सकता है - मेरे मामले में, मैं ऐसी चीजें लिख रहा था जो वृद्धि आईडी द्वारा एक आदेश को लोड करेगा, फिर उसके डेटा के आधार पर कुछ कार्रवाई करें। लोड हो रहा है एक पूर्ण आदेश SOAP एपीआई में लगभग 1.5 सेकंड था, या "रॉ ऑब्जेक्ट" रूप में एक दूसरे का एक छोटा सा अंश। मेरे लिए विकल्प स्पष्ट था जब मैं उनमें से सैकड़ों को एक ही बार में लोड कर रहा हूं। एक और प्रतिबंध, यह भी है कि "मैगेंटो ऐप" शैली को करने से यह उसी सर्वर पर होना चाहिए। मेरे मामले में, मैंने ऐसा बिल्कुल भी बुरा नहीं माना, लेकिन यह याद रखने लायक है।
माइक

1
आपने कच्चे ऑब्जेक्ट फॉर्म में सब कुछ कैसे लोड किया?
8 अगस्त को

$order = Mage::getModel('sales/order')->load($order_id);, मूल रूप से। इस फ़ोरम थ्रेड में एक स्निपेट या दो हैं जो अधिक वर्णन कर सकते हैं: magentocommerce.com/boards/viewthread/18629
माइक

6

सोप आपी को गति देना मुश्किल हो रहा है। आप हमेशा कुछ अतिरिक्त हार्डवेयर (तेजी से MySQL सर्वर) में फेंक सकते हैं या NginX पर स्टोर चला सकते हैं जब आप कुछ मिलीसेकंड करेंगे, तो बड़ी संख्या में http अनुरोधों को संभालने में NginX बेहतर है। कैशिंग वास्तव में मदद नहीं करेगा कि ज्यादातर कॉल की प्रतिक्रिया हर बार अलग होगी।

Magento Core मॉडल का उपयोग करते हुए खरोंच से अपनी खुद की एपीआई का निर्माण करना सबसे तेज़ समाधान हो सकता है क्योंकि आप केवल उसी चीज़ को लोड करके प्रदर्शन में सुधार करने के लिए कोड को ट्वीक कर सकते हैं, जिसकी आपको आवश्यकता है। कोर कक्षाओं का उपयोग करने के मेरे अनुभव से नहीं कि संस्करण 1.5 और 1.7 के बीच चलो बहुत बदल गया है

संपादित करें: मैं भूल गया, htaccess या php.ini फ़ाइल में gzip आउटपुट कम्प्रेशन को चालू करने से एक छोटी सी जीत हासिल हो सकती है या यदि आपको लगता है कि MySQL डेटाबेस नहीं होने पर उसी डेटाबेस का उपयोग करके SOAP एपीआई को किसी अन्य सर्वर पर ले जाएँ। अड़चन है


1
mysql डेटाबेस बॉटल नेक नहीं है, बॉटल नेक मैगेंटो को बूट कर रहा है, यह सभी कॉनफिगरेशन फाइल को बूट कर रहा है, बकवास के हर टुकड़े को लोड कर रहा है, एक साबुन एपी को कंपाइल कर रहा है और फिर अंत में याद आता है कि मैंने एक रिक्वेस्ट की, उस डेटा को लाया, उसका मूल्यांकन किया, कंपाइल किया यह अनुरोधित प्रारूप में है, प्रारूप को मान्य करें और फिर इसे साबुन कनेक्शन के माध्यम से आउटपुट करें। चेक चेक चेक डबल चेक अच्छा है ... लेकिन यह बहुत धीमा है। यह शुरुआत में ठीक करेगा, लेकिन कुछ समय के लिए इसमें तेजी लाने की जरूरत होगी।
8

Magento के मूल कैश को आपको कॉन्फिगर फ़ाइलों के संयोजन में मदद करनी चाहिए, और कोड को गति देने के लिए आप कंपाइलर का उपयोग कर सकते हैं। इसके अलावा एक PHP त्वरक ( en.wikipedia.org/wiki/PHP_accelerator ) यहां आपके प्रदर्शन को बढ़ावा देगा। लेकिन आपके मामले में मैगेंटो कोर आपी का उपयोग करने वाले अपने स्वयं के एपीआई के निर्माण को देखने के लिए इसके लायक हो सकता है।
Sander Mangel
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.