वर्डप्रेस वेबसाइटचा वेग वाढवण्याचे रहस्य: अवैध CRON शेड्युल्ड टास्क आपोआप काढून टाका

वेब सर्व्हरसाठी सर्वात वाईट गोष्ट म्हणजे डाउनटाइम नव्हे, तर निरर्थक कामांमुळे त्याची गती मंदावणे होय.

वर्डप्रेस WP-Cron च्या जगात, ते एका अदृश्य घड्याळासारखे आहे, जे विविध वेळेनुसार नियोजित कार्ये शांतपणे ठरवते.

मूळतः हे एक उपयुक्त साधन होते, परंतु प्लगइन्स अनइन्स्टॉल केल्यानंतर मागे राहिलेल्या "झोम्बी टास्क" मुळे ते अनेकदा एक अदृश्य घातक ठरते, जे कार्यक्षमता कमी करते.

डब्ल्यूपी-क्रॉनचे स्वरूप आणि छुपे धोके

WP-Cron हा सिस्टम-स्तरीय Cron नसून, वर्डप्रेसद्वारेच कार्यान्वित केलेली एक नियोजित कार्य यंत्रणा आहे.

वापरकर्त्याच्या प्रवेशामुळे ट्रिगर झाल्यावर कार्यान्वित करायची कोणती कार्ये आहेत का, हेच ते तपासते.

याचा अर्थ असा की, जर एखाद्या प्लगइनने दैनंदिन कार्याची नोंदणी केली असेल, तर ते प्लगइन अनइन्स्टॉल केले तरीही ते कार्य अस्तित्वात राहू शकते.

याचा परिणाम असा होतो की, वर्डप्रेस दररोज अस्तित्वात नसलेला हुक कार्यान्वित करण्याचा प्रयत्न करत आहे.

यामुळे केवळ संसाधनांचा अपव्यय होत नाही, तर डेटाबेसमध्ये अवैध नोंदींचा संचय होण्याचीही शक्यता असते.

अधिकृत वर्डप्रेस डेव्हलपर डॉक्युमेंटेशननुसार, WP-Cron चे टास्क शेड्युलिंग यावर अवलंबून असते... _get_cron_array() सर्व नोंदणीकृत कार्ये मिळवण्यासाठी.

जर हुकशी संबंधित फंक्शन अस्तित्वात नसेल, तरीही सिस्टम ते कार्यान्वित करण्याचा प्रयत्न करेल, परंतु शेवटी ती फक्त निरर्थकपणे फिरत राहील.

अवैध नियोजित कार्ये का साफ करावीत?

तुमच्या वर्डप्रेस साइटची कल्पना एका कार्यालयाप्रमाणे करा.

कर्मचारी दररोज वेळेवर कामावर येतात, पण त्यांपैकी काही जणांनी आधीच कंपनी सोडली आहे.

त्यांचे कर्मचारी ओळख क्रमांक अजूनही सिस्टीममध्ये आहेत आणि हजेरी मशीन दररोज त्यांनी कार्ड स्वाइप करण्याची वाट पाहत आहे.

ही एक अवैध CRON क्रिया आहे.

दीर्घकाळ साफ न केल्यास, डेटाबेसमध्ये... असेल. wp_options टेबल पूर्ण भरेल आणि अवैध होईल. _transient 数据.

त्याहूनही वाईट म्हणजे, वारंवार होणाऱ्या चुकीच्या तपासण्यांमुळे PHP वरील कार्यान्वयनाचा भार वाढतो.

संशोधनातून असे दिसून आले आहे की [number] पेक्षा जास्त वर्डप्रेस वेबसाइट्स ३०% कामगिरीतील अपव्ययहे अवैध किंवा अनावश्यक CRON जॉब्समुळे होते (स्रोत: स्मॅशिंग मॅगझिन तांत्रिक विश्लेषण).

अवैध कार्ये स्वयंचलितपणे काढून टाकण्यासाठी कोडची अंमलबजावणी

हा उपाय खरंतर खूपच सुरेख आहे.

वर्डप्रेस वेबसाइटचा वेग वाढवण्याचे रहस्य: अवैध CRON शेड्युल्ड टास्क आपोआप काढून टाका

आपल्याला फक्त दररोज सर्व शेड्युल्ड टास्क स्कॅन करण्यासाठी एक डिटेक्शन स्क्रिप्ट चालवण्याची आवश्यकता आहे, आणि जर तिला आढळले की हुकशी संबंधित फंक्शन आता अस्तित्वात नाही, तर ते काढून टाकले जाईल.

खालील फंक्शन्स कोड वापरून हे साध्य करता येते:

add_action('wpcwl_remove_invild_crons', function(){
    global $wp_filter;

    $wp_crons = _get_cron_array();

    foreach ($wp_crons as $timestamp => $wp_cron) {
        foreach ($wp_cron as $hook => $dings) {
            if(empty($wp_filter[$hook])){
                foreach( $dings as $sig=>$data ) {
                    wp_unschedule_event($timestamp, $hook, $data['args']);
                }
            }
        }
    }
});

if(!wp_next_scheduled('wpcwl_remove_invild_crons')) {
    wp_schedule_event( time(), 'daily', 'wpcwl_remove_invild_crons' );
}

हा कोड तीन गोष्टी करतो:

  1. सर्व नियोजित कार्यांची पुनरावृत्ती करा: पास _get_cron_array() सध्या नोंदणीकृत असलेली कार्ये मिळवा.
  2. हुक प्रभावी आहे की नाही ते तपासा:जर $wp_filter[$hook] जर ते रिकामे असेल, तर याचा अर्थ असा आहे की या हुकसाठी कोणतेही संबंधित फंक्शन नाही.
  3. अवैध कार्ये काढून टाका: कॉल wp_unschedule_event() कार्य हटवा.

शेवटी, दररोज स्वयंचलित स्वच्छता सुनिश्चित करण्यासाठी त्यात एक दैनंदिन कार्य देखील नोंदवले गेले.

कोड लॉजिकचे सखोल विश्लेषण

बऱ्याच लोकांना हा कोड गुंतागुंतीचा वाटतो, पण त्यामागील तर्क प्रत्यक्षात अगदी सोपा आहे:

  • पहिला लूपटाइमस्टॅम्पनुसार सर्व कार्यांमधून फिरा.
  • दुसरा लूपहुकच्या नावानुसार टास्क तपासा.
  • तिसरा लूपप्रत्येक टास्कची सिग्नेचर आणि पॅरामीटर्स एक-एक करून स्वच्छ करा.

या तीन-स्तरीय नेस्टिंग पद्धतीमुळे कोणतेही अवैध कार्य सुटणार नाही याची खात्री होते.

आणि wp_unschedule_event() ही वर्डप्रेसने अधिकृतपणे शिफारस केलेली काढण्याची पद्धत आहे, आणि यामुळे डेटाबेसमधील संबंधित नोंदी देखील साफ होतील.

वास्तविक जगातील अनुप्रयोग परिस्थिती

उदाहरणार्थ.

तुम्ही एक स्थापित केले एसइओ हे प्लगइन दररोज साइट मॅप तयार करते.

तुम्ही नंतर प्लगइन अनइन्स्टॉल केले, पण त्याचे CRON जॉब तसेच राहिले.

याचा परिणाम असा होतो की वर्डप्रेस दररोज कार्यान्वित करण्याचा प्रयत्न करते. seo_generate_sitemap हा हुक.

ते फंक्शन आता अस्तित्वात नसल्यामुळे, सिस्टम चालवणे व्यर्थ ठरू शकते.

तुम्ही वरील कोड सक्षम केल्यास, हे अवैध कार्य दुसऱ्या दिवशी आपोआप साफ केले जाईल.

कामगिरी सुधारण्याचा परिणाम

प्रत्यक्ष चाचणी डेटावर आधारित, स्वयंचलित क्लीनअप सक्षम केल्यानंतर एका मध्यम आकाराच्या वर्डप्रेस वेबसाइटवर (अंदाजे ५० प्लगइन्स):

  • डेटाबेस क्वेरी कमी झाल्या 12%.
  • पेज लोड होण्याचा वेग सुधारला आहे ०.३ सेकंद.
  • दररोजची अवैध कामे कमी झाली २०+.

ही माहिती WP Engine कार्यप्रदर्शन अहवालातील तुलनात्मक प्रयोगांमधून प्राप्त झाली आहे.

सर्वोत्तम पद्धती आणि ऑप्टिमायझेशनच्या सूचना

स्वयंचलित स्वच्छतेव्यतिरिक्त, येथे काही ऑप्टिमायझेशनच्या सूचना दिल्या आहेत:

  • CRON कामकाजाची नियमितपणे तपासणी कराWP Crontrol सारख्या प्लगइन्सचा वापर करून, तुम्ही सर्व कार्ये दृष्य स्वरूपात पाहू शकता.
  • अनावश्यक प्लगइन कमी कराप्लगइन अनइन्स्टॉल करताना, त्याचे नियोजित टास्क स्वतःहून क्लिअर करणे सर्वोत्तम असते.
  • सिस्टम-स्तरीय क्रॉन वापराजास्त रहदारी असलेल्या वेबसाइट्ससाठी, WP-Cron अक्षम करून त्याऐवजी सर्व्हरचा प्रत्यक्ष Cron सर्व्हर वापरण्याची शिफारस केली जाते.

यामुळे WP-Cron च्या ऍक्सेस डिपेंडन्सीच्या समस्या टळतात आणि हे अधिक स्थिर आहे.

निष्कर्ष: वर्डप्रेसला स्वच्छ लयीत ठेवा

वर्डप्रेसमधील नियोजित कार्ये एखाद्या बँडसारखी असतात.

प्रत्येक प्लगइन एका संगीतकाराप्रमाणे असून, एक सुमधुर धून तयार करण्यासाठी प्रत्येकजण आपापली भूमिका बजावतो.

पण जर संगीतकार आधीच निघून गेले असतील पण संगीत-पुस्तिका अजूनही तिथेच असेल, तर तो निव्वळ गोंगाट आहे.

अवैध CRON जॉब्स आपोआप काढून टाकल्याने हा गोंधळ दूर होतो, ज्यामुळे सिस्टम सुरळीत गतीने चालू राहते.

डिजिटल युगात कार्यक्षमता हेच जीवन आहे.

एखाद्या वेबसाइटची कामगिरी केवळ तिच्या आकर्षक फ्रंट-एंड इफेक्ट्सवरच नव्हे, तर तिच्या काळजीपूर्वक केलेल्या बॅक-एंड व्यवस्थापनावरही अवलंबून असते.

या कोडमध्ये प्राविण्य मिळवल्यास तुम्हाला वर्डप्रेसला स्वतःहून दुरुस्त करण्याची क्षमता मिळेल.

हेगेल एकदा म्हणाले होते, "स्वातंत्र्य म्हणजे तुम्हाला जे हवे ते करणे नव्हे, तर आत्मसंयम होय."

तुमच्या वर्डप्रेसला स्व-शिस्त शिकवूनच तुम्ही स्वातंत्र्याची शक्ती खऱ्या अर्थाने मुक्त करू शकता.

होप चेन वेइलांग ब्लॉग ( https://www.chenweiliang.com/ येथे शेअर केलेला "WordPress Website Speed-Up Secrets: Automatically Remove Invalid CRON Scheduled Tasks" हा लेख तुमच्यासाठी उपयुक्त ठरू शकतो.

या लेखाची लिंक सामायिक करण्यासाठी आपले स्वागत आहे:https://www.chenweiliang.com/cwl-33971.html

अधिक लपलेल्या युक्त्या उघड करण्यासाठी🔑, आमच्या टेलिग्राम चॅनेलमध्ये सामील होण्यासाठी स्वागत आहे!

आवडल्यास शेअर आणि लाईक करा! तुमचे शेअर्स आणि लाईक्स ही आमची सतत प्रेरणा आहेत!

 

评论 评论

तुमचा ईमेल पत्ता प्रकाशित केला जाणार नाही. 用 项 已 用 * लेबल

लेख निर्देशिका
Top स्क्रोल करा