Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

वर्डप्रेस ब्लॉग चलाने के लिए PHP-MySQL लगातार कनेक्शन का उपयोग करना

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

MySQL डेटाबेस सर्वर से कनेक्ट करने के लिए लगातार कनेक्शन का उपयोग करना हमेशा एक अच्छा विकल्प नहीं होता है। प्रत्येक कनेक्शन MySQL और सॉकेट्स में आंतरिक रूप से मेमोरी, बफ़र्स, टेबल या थ्रेड कैश सहित संसाधन लेता है, OS स्तर पर फ़ाइलें या IO गतिविधि खोलें। इस प्रकार जब बहुत सारे लगातार कनेक्शन खोले जाते हैं लेकिन लेन-देन पूरा होने के बाद बंद नहीं होते हैं, तो सिस्टम पर संसाधन समाप्त हो सकते हैं और वेब सर्वर के प्रदर्शन को खराब कर सकते हैं, या सबसे खराब स्थिति में, HTTP विफलता का कारण बन सकते हैं। इसके अलावा, यदि एक सतत कनेक्शन रुका हुआ है, निष्क्रिय है या निष्क्रिय हो गया है या अब उपयोग में नहीं है, तो इसे समाप्त नहीं किया जाता है, और MySQL सर्वर केवल 28800 सेकंड (8 घंटे) के बाद डिफ़ॉल्ट रूप से कनेक्शन द्वारा कब्जा किए गए संसाधन को छोड़ने के लिए इसे बंद कर देगा जब तक कि डिफ़ॉल्ट रूप से नहीं my.cnf कॉन्फ़िगरेशन फ़ाइलों में टाइमआउट पैरामीटर को बदल दिया। यह कुछ कारक समस्याएँ ला सकते हैं जैसे कि MySQL नए DB कनेक्शनों को मना कर रहा है या यदि एप्लिकेशन लगातार कनेक्शन को ठीक से हैंडल नहीं करते हैं तो सर्वर धीमा हो जाता है।

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

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

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

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

wp-config.php का पता लगाएँ और संपादित करें फ़ाइल, और निम्न पंक्तियों में जोड़ें (या यदि स्थिरांक पहले से मौजूद हैं तो निम्न मानों में परिवर्तन करें):

define('USE_PCONNECT', true);
define('WP_CACHE', false);

वर्डप्रेस और पीएचपी (जब तक आप PHP.INI में mysql.allow_persistent को बंद नहीं करते हैं) MySQL डेटाबेस से कनेक्ट करने के लिए तुरंत लगातार कनेक्शन का उपयोग करेंगे। यह कोशिश करने लायक है कि आपके परिवेश के लिए कौन सी सेटिंग सर्वोत्तम है।

निम्नलिखित चरण भी व्यावहारिक हैं, लेकिन इसमें वर्डप्रेस कोर फ़ाइल को हैक करना शामिल है, और इस प्रकार अनुशंसित नहीं है, और इस लेख में केवल संदर्भ के लिए छोड़ दिया गया है।

निर्देशिका को wp-include . में बदलें निर्देशिका। wp-include निर्देशिका के अंदर, wp-db.php . है फ़ाइल। wp-db.php को संपादित करने के लिए vi जैसे किसी भी टेक्स्ट एडिटर का उपयोग करें। mysql_connect . के फ़ंक्शन को खोजें या खोजें (या @mysql_connect ) Mysql_connect का केवल एक उदाहरण है। बस mysql_connect को mysql_pconnect . में बदलें , फिर सहेजें और wp-db.php से बाहर निकलें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाबेस में सभी तालिकाओं के लिए रिकॉर्ड गणना प्राप्त करें

  2. MySQL में SUBDATE() बनाम DATE_SUB():क्या अंतर है?

  3. MySQL विशेषक असंवेदनशील खोज (स्पेनिश उच्चारण)

  4. MySQL में डेटाबेस या टेबल के लिए इंडेक्स कैसे देखें?

  5. MySQL में रूपांतरण दर की गणना कैसे करें?