आप Drupal के प्रदर्शन को कैसे सुधारेंगे?


54

Drupal विकास में तेज है, लेकिन प्रदर्शन इतना खराब है। 50 अनुरोध प्रति सेकंड तक पहुंचना कठिन है।

और एक साधारण वेब पेज में बहुत सारे SQL क्वेरी हैं। यदि आप Drupal.org में फॉर्म सबमिट के अनुरोध समय का परीक्षण करते हैं, तो इसे समाप्त होने में हमेशा सेकंड लगेंगे।

आप अपनी वेब साइट की गति कैसे सुधारेंगे?


3
क्या आपने वास्तव में साइट की खोज की है? मैं कल्पना नहीं कर सकता कि यह पहले बार-बार चर्चा नहीं की गई है।
लेटेरियन

1
चेकआउट माय स्लाइड्स goo.gl/30yi39 आपकी मदद करनी चाहिए
mikeytown2

जवाबों:


61

कैशिंग, कैशिंग, और कैशिंग।

कुछ सुझाव जो मैंने पहले भी इसी तरह के सवाल पर दिए हैं

  1. लाना वार्निश अपने http-deamon के सामने से या किसी अन्य रिवर्स प्रॉक्सी शायद एक सबसे अच्छी बात आप कर सकते है।
  2. DrupalCon Copehagen के दौरान, रासमस ने कहा कि APC जैसे php opcode cache का उपयोग करना सबसे अच्छी चीजों में से एक है जो आप सामान्य रूप से PHP को गति देने के लिए कर सकते हैं। PHP के नए संस्करणों के साथ प्रदर्शन में सुधार होता है। जब आप Drupal को अपग्रेड करते हैं तो PHP को अपग्रेड करने के अतिरिक्त लाभ भी हैं। 6 से 8 तक, Drupal ऑब्जेक्ट ओरिएंटेशन की ओर एक प्रमुख बदलाव से गुजरेगा, जो कि नए PHP संस्करणों में होने वाले अधिकांश प्रदर्शन सुधार भी हैं।
  3. मेम्कैश कैश को तेज करने के बजाय स्मृति डिस्क में कैश डालने के लिए एक लोकप्रिय विकल्प है।
  4. पैनल्स + कैशे क्रियाओं के साथ संयुक्त कैशिंग , उपयोगकर्ताओं में लॉग इन के लिए भी प्रदर्शन में काफी वृद्धि कर सकता है, क्योंकि यह काफी जटिल तर्क का समर्थन करता है।
  5. इकाई कैश ड्रुपल 7 का उपयोग कर किसी के लिए भी एक अच्छा और शून्य conf गति को बढ़ावा देने है।
  6. लिखें-भारी साइटों में कम "अच्छी तरह से स्थापित" समाधान होते हैं। कुछ विकल्पों में शामिल हैं।
    1. चलते-फिरते पूरी तरह से लिखते हैं, उदाहरण के लिए आँकड़े, कहीं और, जैसे कि Google विश्लेषिकी।
    2. कैशिंग लगातार एनओडीजेएस जैसे कुछ में एक कस्टम समाधान के साथ ऑपरेशन लिखते हैं जो हर दसवें सेकंड में एक बार डीबी को लिखेंगे।
    3. पवित्र ACID का त्याग करें , और MongoDB जैसे डेटाबेस का उपयोग करें । (नीचे देखें बेदिर की टिप्पणी)
    4. अपने SQL- डेटाबेस को क्लस्टर करें। एक डेटाबेस से पढ़ता है, दूसरे को लिखता है। यह D7 का मूल है और D6 में प्रेसफ्लो इसकी मदद कर सकता है।

यह सब जोड़ दिया गया है, लेकिन यह सब पढ़ने के लिए है, साइटों के लिए अच्छा नहीं है बहुत सारे लिखना है।
ब्रूस डौ

आप लिखते हैं के बारे में कुछ खास नहीं कहा। :) मैं अपने उत्तर में इसके बारे में कुछ जोड़ूंगा।
लेटेरियन

1
MongoDB पर स्पष्टता। आप अपने पूर्ण डेटाबेस को MongoDB पर स्विच नहीं कर सकते । MongoDB MySQL की तरह DBMS से कुछ अलग है और उदाहरण के लिए SQL का उपयोग नहीं करता है। आप केवल कुछ प्लग करने योग्य घटकों को बदल सकते हैं और उन्हें अपने डेटा का एक हिस्सा MongoDB में संग्रहीत करने के लिए उपयोग कर सकते हैं, उदाहरण के लिए फ़ील्ड, लॉग, ब्लॉक और इतने पर।
बेरदीर

@Letharion >> अपने SQL- डेटाबेस को क्लस्टर करें। एक डेटाबेस से पढ़ता है, दूसरे को लिखता है। प्रेसफ्लो इससे मदद कर सकता है। यह कैसे हासिल किया जा सकता है ?
GoodSp33d

1
बहुत बढ़िया जवाब! निश्चित। इसे जोड़ने के लिए, उन्नत CSS / JS एग्रिगेशन मॉड्यूल पर एक नज़र डालें क्योंकि मेरी समझ यह है कि एकत्रीकरण एकल CSS और JS फ़ाइलों के अनुरोधों को कम करता है जिससे प्रदर्शन में सुधार होता है।
9

23

ये मेरे अनुभवों से नोट्स हैं और दूसरों के अनुभव से भिन्न हो सकते हैं। मैं मुख्य रूप से LAMP स्टैक का उपयोग करता हूं और मेरे सुझावों में समान माना जाता है।

आमतौर पर मैं कैशिंग के नियमों का पालन करता हूं।

  1. प्रक्रिया एक बार कई बार उपयोग करें।
  2. जब संभव हो बासी डेटा के साथ जियो
  3. स्पष्ट रूप से कैश साफ़ करें और इसे बहुत विशिष्ट रखें।
  4. जब संभव हो स्टैक में निम्नतम स्तर पर परिवर्तन करें। LAMP - DCCc: Linux, Apache, Mysql, PHP, Drupal Core, Contrib और कस्टम मॉड्यूल।

एक ड्रुपल साइट के प्रदर्शन में सुधार (जटिलता के बढ़ते क्रम में)

  1. कोर अपडेट, कंटिबेट मॉड्यूल और थीम को अपडेट रखें। हाँ यह मायने रखता है।

  2. अपने सर्वर पर APC स्थापित करें। (सुस्ती से सुझाव के आधार पर शीर्ष पर ले जाया गया)

  3. पृष्ठ कैशिंग: न्यूनतम कैश जीवनकाल और कैश्ड पृष्ठों की समाप्ति के बीच व्यवस्थापन / विन्यास / विकास / प्रदर्शन अंतर

  4. ब्लॉक कैशिंग https://drupal.org/project/blockcache_alter सभी ब्लॉकों के लिए कैशिंग विकल्प।
  5. जावास्क्रिप्ट और सीएसएस फ़ाइलें एकत्र करें - फ्रंट एंड इम्प्रूवमेंट https://www.drupal.org/project/advagg
  6. अनावश्यक मॉड्यूल को अक्षम करें। प्रत्येक मॉड्यूल उस कोड की मात्रा में जोड़ता है जो पृष्ठ लोड के लिए उपलब्ध होना चाहिए। और यह लुकअप की संख्या भी बढ़ाता है। जहाँ तक संभव हो, कई प्रकार के मॉड्यूल के स्थान पर एक जेनेरिक मॉड्यूल का उपयोग करें जो विशिष्ट कार्य करता है।
  7. कैशे दृश्य सामग्री - दृश्य https://www.drupal.org/project/views_content_cache के लिए कंटेंट जागरूक कैशिंग
  8. DB लॉगिंग अक्षम करें - https://drupal.org/project/syslog_ng का उपयोग करें
  9. 404 त्रुटियां कम करें - http://www.brokenlinkcheck.com/
  10. फास्ट 404 जवाब - https://drupal.org/project/fast_404 - सर्वर स्तर पर हैंडलिंग का प्रयास करें।
  11. क्लाइंट साइड मान्यताएँ - https://www.drupal.org/project/clientside_validation
  12. संपीडन छवि - https://www.drupal.org/project/imageapi_optimize
  13. छवियों का आलसी लोड हो रहा है - अनावश्यक छवियों को लोड न करें - https://www.drupal.org/project/lazyloader
  14. स्प्राइट शीट्स का उपयोग करें - https://www.drupal.org/project/spritesheets

  15. न्यूनतम कैश लाइफ टाइम मान अधिक संख्या में सेट करें और विशिष्ट पृष्ठों के लिए कैश को साफ़ करने के लिए कैश समाशोधन मॉड्यूल का उपयोग करें - जब भी मैं एक नोड को संपादित / अपडेट करता हूं अनाम उपयोगकर्ता के लिए सभी पृष्ठ कैश खो जाते हैं

  16. प्रश्नों को देखने के लिए डेवेल मॉड्यूल का उपयोग करें।
  17. रिवरिट दृश्य दृश्य / यदि इसके ओवरकिल से दृश्य से बचें।
  18. XHProf - https://www.drupal.org/project/XHProf
  19. एफपीएम, एचएचवीएम।
  20. DB प्रोफाइलिंग और ट्यूनिंग - https://www.drupal.org/project/dbtuner
  21. बूस्ट का उपयोग करें , यदि आवश्यक न हो तो बूटस्ट्रैप डीबी न करें। https://drupal.org/project/boost अधिकांश छोटी से मध्यम साइटों के लिए बूस्ट काफी अच्छा है और आपको इसके विपरीत या इसके विपरीत की आवश्यकता नहीं हो सकती है।
  22. CDNs का उपयोग करें - https://www.drupal.org/project/cdn इसकी स्थापना आसान।
  23. यदि आपके कैश टेबल मेम्केड का बहुत बड़ा उपयोग है - यदि आप मेम्केड को स्थापित कर सकते हैं और इसके लिए रैम सेट कर सकते हैं, तो यह उतना जटिल नहीं है जितना लगता है।
  24. Etags - Etags को ठीक से कॉन्फ़िगर करें। https://developer.yahoo.com/blogs/ydnfiveblog/high-performance-sites-rule-13-configure-etags-7211.html
  25. रिवर्स प्रॉक्सी सर्वर का उपयोग करें - वार्निश (कम से कम संपत्ति के लिए)। यदि आपके अधिकांश उपयोगकर्ता अनाम हैं तो बहुत मदद करता है।
  26. संपीड़ित स्थानांतरण - gzip संपीड़न सक्षम करें
  27. जिंदा रखें - जहां संभव हो, लगातार कनेक्शन का उपयोग करें।
  28. प्रगतिशील जेपीईजीएस -
  29. कोड में आना - ईटन का ब्लॉग कमाल का है। http://www.lullabot.com/blog/article/beginners-guide-caching-data-drupal-7
  30. कैशे वार्मिंग को लागू करें - https://www.drupal.org/project/cache_warmer - कैशे उन पृष्ठों को गर्म करें, जिनसे अंतिम उपयोगकर्ता हिट करता है।
  31. मास्टर स्लेव DB कॉन्फिगरेशन - https://www.drupal.org/project/autoslave आपके लिए एक सेट करना आसान बनाता है।
  32. डेटाबेस क्लस्टर - https://stackoverflow.com/questions/1163216/database-cluster-and-load-balancing
  33. लोड बैलेंसर्स - http://en.wikipedia.org/wiki/Load_balancing_(computing)
  34. हेयरिस्टिक कैश वार्मिंग का उपयोग करें - https://www.drupal.org/project/cache_graceful
  35. प्रमाणित उपयोगकर्ता कैशिंग - https://www.drupal.org/project/authcache

उस उत्तर को निरस्त करना जो मैंने drupal.stackexchange.com/questions/118990/… के लिए लिखा था । BTW इसे यह कहते हुए बंद कर दिया गया कि यह बहुत व्यापक है। मुझे यकीन नहीं है कि इन दो सवालों में बहुत अंतर है :)
गोकुल एनके

18

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

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

Apache पूरी तरह से Nginx, Lighttpd और IIS 7 अर्ध-समर्थित के साथ समर्थित है। बूस्ट कैश करेगा और gzip को html, xml, ajax, css, और javascript कंप्रेस करेगा। कैश एक्सपायरी लॉजिक को बहुत उन्नत करता है; आपकी साइट के विभिन्न भागों के लिए अलग-अलग कैश जीवनकाल रखना काफी सरल है। क्रॉलर में निर्मित सुनिश्चित करता है कि समय-समय पर समाप्त सामग्री तेजी से पेज लोड करने के लिए पुनर्जीवित हो जाती है।


1
बूस्ट Drupal 7 अब imao के लिए बहुत अच्छा काम करता है। एक साझा होस्टिंग समाधान पर यह जाने का एक शानदार तरीका है (क्योंकि वे अक्सर उदाहरण के लिए वार्निश की अनुमति नहीं देते हैं)।
ऋषि

5

यह उल्लेख के लायक है, यदि आप SQLIte डेटाबेस ड्राइवर का उपयोग कर रहे हैं, तो आपको डिस्क सिंक्रनाइज़ेशन को अक्षम करना पड़ सकता है।

/**
 * Implements hook_init().
 */
function HOOK_init() {
  db_query('PRAGMA synchronous = OFF');
}

कुछ सर्वर कॉन्फ़िगरेशन पर यह नाटकीय रूप से प्रदर्शन में सुधार करेगा।


2
चूंकि यह इसे हर पेज लोड पर अक्षम करता है, मैं सोच रहा था कि क्या इसे स्थायी रूप से अक्षम करने का कोई बेहतर तरीका है। इसे जांचने के लिए कुछ समय देना चाहिए।
गोकुल एनके

1
इसे $ डेटाबेस डेटाबेस में 'init_commands' तत्व जोड़कर साइट्स / डिफ़ॉल्ट / settings.php में करना संभव है। मुझे यहां "PRAGMA सिंक्रोनस = ऑफ" के लिए एक उदाहरण मिला: bitacoles.enging.com/node/210
dinopmi

4

Drupal के प्रदर्शन का रहस्य कैशिंग और अच्छी प्रथाओं का पालन करने में है। सुझाव:

ड्रुपल बैक-एंड

  • प्रदर्शन अनुभाग में कैशिंग सक्षम करें ।
  • चेक प्रदर्शन और प्रदर्शन और अनुमापकता चेकलिस्ट मॉड्यूल।
  • चेक ड्रुपल 7 प्रदर्शन अनुकूलन विकल्प और चेकलिस्ट
  • अप्रयुक्त और गैर-उत्पादन मॉड्यूल (जैसे डेवेल, व्यू यूआई, नियम यूआई, आदि) को अक्षम करें।
  • अस्थिर मॉड्यूल अक्षम करें।
  • आँकड़े अक्षम करें ।
  • Dblog कोर मॉड्यूल को अक्षम करें और syslog के साथ बदलें ।
  • अद्यतन प्रबंधक कोर मॉड्यूल अक्षम करें ।
  • क्रोन: ड्रुपल के बिलिन क्रोन का उपयोग करें, न कि पोरमोन्सक्रॉन ( एलिसिया या अंतिम क्रोन पर विचार करें )।
  • दृश्य: अलग-अलग परतों (डेटाबेस क्वेरी, मार्कअप, समय-आधारित) पर विचारों के लिए कैश का उपयोग करें।
  • ब्लॉक: यदि आपका दृश्य ब्लॉक (प्रति पृष्ठ, उपयोगकर्ता, आदि) है तो ब्लॉक कैशिंग का उपयोग करें।
  • ब्लॉक: ब्लॉक कैश ऑल्टर मॉड्यूल द्वारा प्रति ब्लॉक कैश सेटिंग्स पर विचार करें ।
  • पैनलों: जितना संभव हो उतना कैश का उपयोग करें (डी 7 चेक पीसीसी और पीएचसी मॉड्यूल के लिए)।
  • इकाई: सक्षम कैश को सक्षम करें
  • कई वातावरणों का उपयोग करते समय, लापता मॉड्यूल पर विचार करें जो पेज लोड में सुधार कर सकता है।
  • साथ प्रमाणीकृत उपयोगकर्ताओं पृष्ठ कैशिंग सक्षम Authcache मॉड्यूल।
  • रीडायरेक्ट से बचें जो उपयोगकर्ता के अनुभव को धीमा कर देते हैं।
  • एक्सपायर मॉड्यूल का उपयोग करके कैश अमान्यकरण बढ़ाएं ।
  • उत्पादन से पहले PHP प्रोफाइलिंग का उपयोग करें (जैसे XDebug )।

द्रुपाल सामने वाला

  • HTTP अनुरोधों को कम से कम करें:
    • प्रदर्शन अनुभाग में JS / CSS एकत्रीकरण सक्षम करें ।
    • छवि अनुरोधों की संख्या को कम करने के लिए सीएसएस स्प्राइट्स का उपयोग करें ।
    • इनलाइन डेटा (स्टाइल में URI) के रूप में छोटी छवियों का उपयोग करें।
    • एक ही छवि में कई छवियों को संयोजित करने के लिए छवि मानचित्रों का उपयोग करें ।
    • लोडिंग छवियों का उपयोग करने पर भी विचार करें (देखें: छवि Lazyloader )।
    • लोड समय को कम करने के लिए बिगपाइप मॉड्यूल स्थापित करें ।
    • आलसी लोडिंग बनाम आलसी मूल्यांकन पर विचार करें।
    • देखें: ब्राउज़र कैश उपयोग - उजागर!
  • कुछ जावास्क्रिप्ट और सीएसएस बाहरी बनाने पर विचार करें (कुछ मामलों में यह तेज है)।
  • जावास्क्रिप्ट और सीएसएस को छोटा करें (देखें: शीघ्र मॉड्यूल)। इनलाइन से बचें।
  • जेएस का संदर्भ लेते समय, deferया तो उपयोग करें या asyncविशेषताएँ।
  • आइफ्रेम की संख्या कम से कम करें।
  • इमेजेस, फोंट, सीएसएस स्प्राइट्स को ऑप्टिमाइज़ करें, फ़ेविकॉन को छोटा करने योग्य बनाएं और कुकी का आकार कम करें।
  • DOM तत्वों की संख्या और एक्सेस तत्वों तक कैश संदर्भों को कम करें।
  • फास्ट 404 मॉड्यूल का उपयोग करके अपने 404 पृष्ठों को तेजी से लोड करें ।
  • उन्नत सीएसएस / जेएस एकत्रीकरण के साथ फ्रंट-एंड संसाधन एकत्रीकरण और कैशिंग को सक्षम करें ।
  • सबसे नीचे स्टाइलशीट और नीचे स्क्रिप्ट लिखें।
  • प्रतिक्रियाओं को कम करने के लिए एक समय सीमा समाप्त करें या कैश-नियंत्रण शीर्षलेख जोड़ें, ETags भी ।
  • AJAX के लिए GET का उपयोग करें और उन्हें उपयोग करने योग्य बनाएं।
  • ब्राउज़र निष्क्रिय होने के समय का लाभ उठाने के लिए पूर्व लोड और पोस्ट-लोड घटकों।
  • कभी-कभी डोमेन भर में बंटवारे घटक समानांतर डाउनलोड को अधिकतम कर सकते हैं।
  • HTML में छवियों को स्केल न करें और 25k के तहत घटकों को रखें।
  • खाली src या href के साथ फ़िल्टर, सीएसएस एक्सप्रेशन, HTML एलिमेंट्स से बचें।
  • अपने वेब अनुरोध (जैसे चार्ल्स ) को डीबग करने के लिए रिवर्स प्रॉक्सी का उपयोग करें ।
  • बुनियादी प्रदर्शन जांच के लिए वाई-स्लो और फैंटमज जैसे उपकरण का उपयोग करें ।
  • अपनी वेबसाइट का विश्लेषण और अनुकूलन करने के लिए Google PageSpeed टूल का उपयोग करें।
  • W3C नेविगेशन टाइमिंग स्पेक्स ( GitHub ) के बारे में पढ़ें ।

पीएचपी

  • PHP कैशिंग (जैसे OpCache , APC ) और ट्वीक सेटिंग्स सक्षम करें ।
  • Apache के बजाय mod_php plus Nginx के बजाय PHP-FPM का उपयोग करने पर विचार करें।

डेटाबेस

सर्वर

  • Drupal के लिए अनुशंसित सिस्टम आवश्यकताओं की जाँच करें ।
  • Drupal के लिए अनुशंसित वेब सर्वर सेटिंग्स की जाँच करें ।
  • Drupal के लिए अनुशंसित PHP विन्यास सेटिंग्स की जाँच करें ।
  • सुनिश्चित करें कि होस्टिंग फास्ट स्टोरेज डिवाइस (जैसे एसएसडी) पर है।
  • साझा होस्टिंग के विरोध के रूप में समर्पित तेज़ विश्वसनीय सर्वर का उपयोग करें।
  • Redis या memcached (igbinary समर्थन के साथ) स्थापित करें और इसे उपयोग करने के लिए Drupal को कॉन्फ़िगर करें।
  • खोज इंजन के लिए लंबे समय तक TTLs को परिभाषित करें (जैसे कि 24h का TTL सर्वर तक पहुंचने वाले बॉट से बचा जाता है)।
  • DNS लुकअप को कम करें (सुनिश्चित करें कि वे कैश किए गए हैं)।

हाई-ट्रैफिक वेबसाइट

यदि आप अपनी वेबसाइट के लिए उच्च भार की अपेक्षा करते हैं, तो वार्निश का उपयोग करें। CDN का उपयोग करने पर भी विचार करें।

और पढ़ें: स्केलिंग और ट्यूनिंग प्रदर्शन में वास्तविक दुनिया का अनुभव


आगे के संसाधन:


3

उच्च प्रदर्शन Drupal नाम की एक पुस्तक है जो कई प्रदर्शन और मापनीयता के मुद्दों को हल करने के लिए सर्वोत्तम अभ्यास, उदाहरण और गहन व्याख्या प्रदान करती है। आप Drupal internals, एप्लिकेशन प्रदर्शन, डेटाबेस, वेब सर्वर और प्रदर्शन विश्लेषण के लिए कोडिंग और बुनियादी ढांचे की तकनीकों को लागू करना सीखेंगे।

में प्रदर्शन और Drupal 7 में अनुमापकता लेख आपको Drupal 6 और Drupal 7 और निम्न सूची के बारे में कुछ उदाहरण मिल सकते हैं:

देखने के लिए Drupal 7 प्रदर्शन और मापनीय परियोजनाएँ:


2

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

हमने अपनी वेबसाइट पर हाल ही में एक ऐसा ही लेख प्रकाशित किया है, जो मुझे विश्वास है कि आपको कुछ काम करने में मदद कर सकता है।

स्रोत: http://www.cloudreviews.com/blog/drupal-performance-optimization-tips


2

किसी भी नए मॉड्यूल को स्थापित किए बिना एक उचित स्तर के लिए Drupal गति में सुधार करने की कुछ संभावनाएं हैं। हाँ, Drupal का प्रदर्शन विन्यास है।

  1. आप इसे पर जाकर सेट कर सकते हैं: YourSiteDomain / admin / config / development / performance
  2. चचिंग के तहत 'अनाम उपयोगकर्ताओं के लिए कैश पृष्ठ' सक्षम करें
  3. न्यूनतम कैश जीवनकाल: 1 दिन (यदि आप नियमित अपडेट नहीं करते हैं)
  4. कैश्ड पृष्ठों की समाप्ति: 1 दिन (यदि आप नियमित अपडेट नहीं करते हैं)
  5. 'कैश्ड पृष्ठों को संपीड़ित करें' सक्षम करें
  6. 'एग्रिगेट और सीएसएस फ़ाइलों को संपीड़ित' सक्षम करें
  7. 'जावास्क्रिप्ट फ़ाइलों को अलग करें' सक्षम करें

  8. एक बार यह कॉन्फ़िगरेशन सेट हो जाने के बाद, पर जाएं: YourSiteDomain / admin / रिपोर्ट / स्थिति

  9. अगर if सीएसएस ’और। जेएस’ निर्देशिकाओं के लिए कोई अनुमति की समस्या है तो उसकी जांच करें
  10. स्थिति रिपोर्ट पृष्ठ पर परिभाषित अनुमति को सही करें

और अब आप अपने ड्रुपल 7 साइट के लिए गति अनुकूलन के साथ किया जाता है।

गति की जांच करने के लिए कुछ ऑनलाइन गति परीक्षण उपकरण हैं। उपरोक्त सेटिंग्स को अपडेट करने से पहले एक स्पीड चेक टूल का उपयोग करना सुनिश्चित करें और एक परीक्षण चलाएं। और एक बार जब आप अपडेट करने के बाद प्रदर्शन सेटिंग फिर से गति परीक्षण चलाते हैं। आप निश्चित रूप से सुधार देखेंगे।

साइट गति को जांचने के लिए पीएसडी और HTTP फॉक्स (फायरफॉक्स प्लगइन) सबसे अच्छे उपकरण हैं।

उपरोक्त सेटिंग्स न केवल अनाम उपयोगकर्ताओं के लिए आपके पृष्ठों को कैश करती हैं, यह CSS और JS फ़ाइलों को भी संपीड़ित करती है। उदाहरण यदि आपकी साइट 80 फाइलें लोड कर रही है, तो इन सेटिंग्स को पोस्ट करें, अनुरोधों की संख्या कम से कम 50% तक कम हो जाएगी, इसलिए यहां आपके Drupal साइट पर 2x गति सुधार है।


2

बैकएंड डेवलपर के रूप में वेबसाइट के प्रदर्शन को बढ़ावा देने के लिए आपके कोड को बेहतर बनाने के लिए हमेशा जगह है। बैकएंड डेवलपर्स के लिए कुछ दिशानिर्देश हो सकते हैं:

1) अपने वॉचडॉग टेबल को साफ करें

2) चर एपीआई का दुरुपयोग न करें

3) कम या बेहतर HTTP अनुरोध करें

4) अपने "डॉट मॉड्यूल" को छोटा रखें

जब फॉन्ट-एंड की बात आती है और साइट बिल्डरों को बहुत अधिक हासिल किया जा सकता है, लेकिन हर दृष्टिकोण से प्रदर्शन को ध्यान में रखना महत्वपूर्ण है।

स्रोत: लाइव होने से पहले ऑप्टिमाइज़ करें


2

2 जीबी रैम के साथ एक अडॉप्टेड ड्रुपल 7 साइट प्रति सेकंड संतोषजनक रूप से लगभग 20-25 अनुरोधों को पूरा कर सकती है। यदि आप उससे आगे जाना चाहते हैं, तो साइट को कुछ ट्विकिंग की आवश्यकता होगी। आपने जो ट्विक किया है, वह इस बात पर निर्भर करता है कि साइट के अधिकांश उपयोगकर्ता अनाम हैं या प्रमाणित हैं। प्रदर्शन सुधार के लिए आप यहां बता सकते हैं:

साइट ज्यादातर अनाम उपयोगकर्ताओं की सेवा कर रही है:

1) निश्चित रूप से APC, मेम्चे और एंटाचे को स्थापित और कॉन्फ़िगर करें।

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

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

4) सीएसएस / जेएस / छवियों में भविष्य की समाप्ति का शीर्षक होना चाहिए। यह सुनिश्चित करेगा कि ब्राउज़र बार-बार उसी CSS / JS / छवियों के लिए अनुरोध नहीं करेंगे।

5) सुनिश्चित करें कि वेबसर्वर संपीड़ित पृष्ठ / CSS / JS परोस रहा है।

उपरोक्त 5 चरणों को लागू करने के बाद, आपका 2 जीबी रैम सर्वर 50 अनुरोधों को प्रति सेकंड बहुत आसानी से सर्वर करने में सक्षम होना चाहिए।

साइट ज्यादातर प्रमाणित उपयोगकर्ताओं की सेवा कर रही है:

ऐसी साइट का अनुकूलन अधिक जटिल है। ऐसी साइट अनुकूलन उद्देश्यों के लिए दो उप-श्रेणियों में से एक में आती हैं:

(ए) साइट पर अधिकांश पृष्ठ 1 या 2 ब्लॉकों को छोड़कर समान हैं जिनमें उपयोगकर्ता-विशिष्ट जानकारी है। उदाहरण के लिए Drupal वाणिज्य साइट।

(b) अधिकांश पृष्ठ उपयोगकर्ता के लिए पूरी तरह से अनुकूलित हैं। उदाहरण के लिए Drupal Commons साइट।

यदि आपकी साइट श्रेणी (ए) में आती है, तो अधिकतर उन तकनीकों को लागू करें जिनकी चर्चा हमने ज्यादातर अनाम उपयोगकर्ताओं की सेवा करने वाली साइट के लिए की थी। फर्क सिर्फ इतना है कि गैर-व्यवस्थापक पृष्ठों के लिए, वार्निश को शीर्ष लेख से सत्र कुकी को निकालने और कैश्ड पृष्ठों की सेवा करने की आवश्यकता होगी। AJAX का उपयोग करके उपयोगकर्ता-विशिष्ट जानकारी के साथ सर्वर ब्लॉक के लिए AJAX ब्लॉक मॉड्यूल का उपयोग करें। इस तरह से अधिकांश पृष्ठ को वार्निश का उपयोग करते हुए बहुत तेज़ी से परोसा जाएगा और फिर AJAX के ऊपर उपयोगकर्ता-विशिष्ट जानकारी दी जाएगी।

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

यदि आप यहां हम जिस पर चर्चा कर चुके हैं, उससे ऊपर और आगे जाना चाहते हैं, तो Drupal Performance Optimization Checklist पर एक नज़र डालें । प्रकटीकरण: यह मेरे द्वारा लिखा गया है। यह उन चीजों की एक विस्तृत सूची का हवाला देता है जो आप अपने Drupal साइट को तेज़ी से धधकते हुए कर सकते हैं।

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