वर्डप्रेस डैशबोर्ड, 504 में सीपीटी के परिणाम देख रहा है


10

मैंने एक कस्टम टैक्सोनॉमी के साथ एक कस्टम पोस्ट टाइप बनाया। मेरे पास लगभग 1500 पद हैं, जिनमें से सभी को कुछ प्रकार के टैक्सोनॉमी शब्द दिए गए हैं ... कुछ को 200+ शब्दों में सौंपा गया है।

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

फ्रंट-एंड से इन पोस्ट को क्वेरी करना ठीक है और मेरे पास इससे कोई समस्या नहीं है।

यह मेरी समझ है कि जब डैशबोर्ड इन कस्टम पोस्ट प्रकारों को देखने की कोशिश कर रहा है, तो यह सब कुछ दिखाने से पहले, प्रत्येक पोस्ट को दी गई सभी जानकारी खींचने की कोशिश कर रहा है।

मेरे पास यह WP स्थापित करने की आवश्यकता के रूप में अधिक मेमोरी (मेमरी_लिमिट = -1) का उपयोग करने में सक्षम है, जैसा कि मैं शोध कर रहा था, कुछ ने कहा कि यह स्मृति से संबंधित हो सकता है।

क्या इस क्वेरी के प्रदर्शन को बढ़ाने के लिए कुछ ऐसा हो सकता है ... जब तक आप पोस्ट को संपादित नहीं कर रहे हों, तब तक किसी पोस्ट के सभी टैक्सोनॉमी टर्म संबंधों को लोड न करें?

WP_MEMORY_LIMIT1Gb से 2Gb तक बढ़ने के बाद त्रुटियां :

WordPress database error: [MySQL client ran out of memory]
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('locations') AND tr.object_id IN

WordPress database error: [Lost connection to MySQL server during query]
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN

WordPress database error: [MySQL server has gone away]
SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM wp_posts WHERE post_type = 'services' ORDER BY post_date DESC

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

जब आप डैशबोर्ड से कस्टम पोस्ट प्रकारों को देखने का उल्लेख करते हैं, तो क्या आप स्थित पोस्टों की सूची देखने की बात कर रहे हैं wp-admin/edit.php?post_type=services?
बोस्को

@bosco यह सही है।
NW टेक

यह Wordpress को असाइन करने के लिए स्मृति का एक बहुत बड़ा है। क्या आप साझा होस्टिंग, एक वीपीएस या समर्पित सर्वर पर हैं? यहां गहरे अंतर्निहित मुद्दे हो सकते हैं। क्या आप अपाचे या किसी अन्य वेबसर्वर जैसे Nginx (शायद दोनों) का उपयोग कर रहे हैं?
ड्वेन चारिंगटन

यह MediaTemple वाला एक नया सर्वर (DV) है। नियंत्रण कक्ष Plesk है और सर्वर Apache और Nginx के साथ CentOS चला रहा है। मैं इस बहुत स्मृति को असाइन नहीं करना चाहता, लेकिन यह किसी भी परिणाम प्राप्त करने के लिए एकमात्र तरीका लग रहा था।
NW टेक

जवाबों:


4

सीपीटी और टैक्सोनॉमी शर्तें प्लगइन के माध्यम से बनाई गई हैं। मैं अपने प्लगइन में निम्नलिखित जोड़कर क्वेरी को कम करने में सक्षम था:

add_action( 'pre_get_posts', 'nwtd_lpfs_custom_admin_query' );
function nwtd_lpfs_custom_admin_query( $query ) {
    if( !is_admin() && !$query->is_main_query() ) {
         return;
     }
     if( is_post_type_archive( 'services' ) ) {
          $query->set('no_found_rows', 1 );
          $query->set('update_post_meta_cache', 0 );
          $query->set('update_post_term_cache', 0 );
     }
}

वर्तमान में, मेरे पास posts००+ पोस्ट हैं, जो १५००+ टैक्सोनॉमी शर्तों से जुड़ी हैं और सब कुछ बढ़िया काम कर रहा है। पोस्ट लगभग तुरंत दिखाई जा रही हैं।

** मैंने यह कोड नहीं लिखा था। मैं किसी ऐसे व्यक्ति के साथ सीधे काम करता हूं, जो वर्डप्रेस आंसरशीट समुदाय का हिस्सा नहीं है, बशर्ते वह कोड प्रदान करता हो - हो सकता है कि वह किसी और की मदद कर सकता है, या कोई और संभवतः इसे और अधिक कुशल बनाने के लिए इसका विस्तार कर सकता है। **

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