क्या अधिक सक्षम मॉड्यूल होने से साइट धीमी हो जाती है?


13

क्या अधिक सक्षम मॉड्यूल होने से साइट धीमी हो जाती है?
मैंने अपनी साइट के लिए 30 मॉड्यूल स्थापित किए हैं, और मुझे डर है कि यह बहुत धीरे हो जाएगा।

जवाबों:


11

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

उदाहरण के लिए, यदि आपने दृश्य स्थापित किए हैं और आपने केवल मुख पृष्ठ दृश्य को सक्षम किया है, तो अनुरोधित पृष्ठ नोड पृष्ठ होने पर दृश्य निष्पादित नहीं किए जाएंगे। हालाँकि, दृश्य मॉड्यूल लागू होता है hook_menu_alter(), और इसे तब भी निष्पादित किया जाता है, भले ही आपने कोई दृश्य सक्षम न किया हो, लेकिन दृश्य मॉड्यूल सक्षम है। hook_menu_alter()जब मेनू पुन: बनाया जाता है, तो किसी भी कार्यान्वयन को लागू किया जाता है, और यह आमतौर पर हर पृष्ठ अनुरोध पर नहीं होता है।


6
बहुत सारे मॉड्यूल होने से जो "कुछ नहीं" करते हैं, साइट को थोड़ा धीमा कर देते हैं। यह हुक प्रणाली के काम करने के तरीके के लिए करना है; Drupal , स्थापित किए गए हर मॉड्यूल के लिए एक मॉड्यूल_हुक कॉल करता है , जब भी हुक चलता है। ये सभी चेक जोड़ सकते हैं। हमारी साइट पर, मॉड्यूल_हुक को 13,000 बार कॉल किया जाता है और इसने 168ms लिया; हर छोटा सा जुड़ जाता है।
mikeytown2

15

हाँ। हालांकि, 30 चिंता की कोई बात नहीं है। 100 से अधिक होने पर आप मुसीबत में हैं;)

कई फाइलों सहित की अधिकांश मंदी को खत्म करने के लिए एक बायटेकोड कैश (APC या XCache) स्थापित करें, और समय-समय पर अप्रयुक्त मॉड्यूल को हटाने के लिए सुनिश्चित करें (आमतौर पर हर परियोजना मॉड्यूल को इकट्ठा करती है जो विकास के दौरान कुछ बिंदु पर अप्रयुक्त हो जाती है)


मैं देखता हूं कि वाणिज्य किकस्टार्ट 96 कंट्राब मॉड्यूल का उपयोग करता है।
पेरे

XCache को इंस्टॉल करने से मेरे पेज आधे समय में रेंडर हो गए। धन्यवाद।
चेरोविम

1

@Bojan Zivanovic & @kiamlaluno की दोनों प्रतिक्रियाओं के पूरक में, जो सही हैं आपको मॉड्यूल इंटरैक्शन के बारे में ध्यान देना चाहिए। बहुत सारे मॉड्यूल होने से खराब मॉड्यूल इंटरैक्शन (जैसे ड्रग इंटरैक्शन) के जोखिम बढ़ जाते हैं । मैं कहूंगा कि 50 से अधिक मॉड्यूल खतरनाक हो जाते हैं, और यह कि आपको जल्दी से जांच करनी चाहिए कि आप एक ही कार्य डोमेन के लिए कई मॉड्यूल का उपयोग नहीं करते हैं।

उदाहरण के रूप में ब्लॉक, व्यू, पैनल, व्यूज वाले फील्ड, व्यूज वाले फील्ड, व्यूज वाले ब्लॉक वाले पैनल बनाने वाले पेज ... आइडिया कुछ ऐसा पाने का है जिसे एक सामान्य दिमाग समझ सके (कैसे मेरे अलग-अलग पेज कंप्लीट होते हैं) । कई जटिल लोडिंग व्यवहार छिपे और जंजीरदार होने पर यह प्रदर्शन पर बड़ा प्रभाव डाल सकता है। एक अन्य उदाहरण प्रत्येक सामग्री के लिए कई मॉड्यूल से कई एसीएल नियम जोड़ रहा है।

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


क्या "सामान्य मस्तिष्क" के लिए ड्रुपल बनाया जाता है? :)
पिको ३४

1

साइट निर्माण के दौरान ध्यान रखने योग्य तीन बातें जो आपके ड्रुपल साइट को गति प्रदान कर सकती हैं:

  1. मॉड्यूल की संख्या कम करें
  2. धीमे प्रश्नों के लिए अपनी mySQL क्वेरी लॉग की जाँच करें और आवश्यक रूप से कोड जोड़ें / अनुक्रमित करें।
  3. कैशिंग (और आपके अधिकांश उपयोगकर्ताओं को उम्मीद है कि यह प्रमाणित नहीं है)

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

अभी भी 30 से 60 मॉड्यूल अपनी साइट को इतना प्रभावित नहीं करेगा।

साइट लोडिंग के समय और मॉड्यूल की संख्या के लिए राशन 100 मॉड्यूल की तरह है जो साइट को 350ms से 650ms तक देरी करेगा।

यू अगली साइट के लिए आशा है कि आप उन बिंदुओं को ध्यान में रखते हुए आगे बढ़ेंगे .. :)

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