WordPress kontrol paneli, CPT sonuçlarını 504 olarak görüntüleme


10

Özel bir sınıflandırma ile özel bir yazı türü oluşturdum. Bunların hepsi bir çeşit taksonomi terimine atanmış yaklaşık 1500 yazı var ... bazıları 200+ terime atandı.

Gösterge tablosundan, çoğu zaman 504 Ağ Geçidi Zaman Aşımı ile sonuçlanan özel yazı türlerini görüntülemek çok uzun zaman aldığını fark ettim.

Bu yazıyı ön uçtan sorgulamak gayet iyi ve bununla ilgili hiçbir sorunum yok.

Anladığım kadarıyla, gösterge tablosu bu özel yayın türlerini görüntülemeye çalışırken, her gönderiye atanan tüm bilgileri, her şeyi göstermeden önce almaya çalışıyor.

Araştırma yaptığım gibi, gerektiği kadar bellek (memory_limit = -1) kullanmak için ayarlanmış bu WP yükleme var, bazı bellek ile ilgili olabilir dedi.

Bu sorgunun performansını artırmak için yapabileceğim bir şey var mı ... siz yayını düzenleyene kadar bir gönderinin tüm sınıflandırma terimi ilişkilerini yüklemeyebilir misiniz?

1 WP_MEMORY_LIMITGb'den 2 Gb'ye yükseltildikten sonraki hatalar :

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

FWIW, WordPress sitemin belleğini 2Gb'ye artırdım ve bu mesajları görmeme izin verdim, ancak bazı hatalar alıyorum (orijinal soruya ekleniyor). Arka uçtaki sorguyu çok ağır yapmak için yapılabilecek bir şey var mı?
NW Tech

Gösterge tablosundan özel yayın türlerini görüntülemekten bahsederken, adresinde bulunan yayınların listesini görüntülemeye mi başvuruyorsunuz wp-admin/edit.php?post_type=services?
bosco

@bosco Doğru.
NW Tech

Bu, Wordpress'e atamak için çok fazla bellek. Paylaşımlı hosting, VPS veya özel sunucu mu kullanıyorsunuz? Burada altta yatan daha derin sorunlar olabilir. Apache veya Nginx gibi başka bir web sunucusu mu kullanıyorsunuz (belki ikisi de)?
Dwayne Charrington

Bu, MediaTemple ile yeni bir sunucudur (dv). Kontrol paneli Plesk'tir ve sunucu Apache ve Nginx ile CentOS çalıştırmaktadır. Bu kadar bellek atamak istemiyorum, ama sonuç almanın tek yolu gibi görünüyordu.
NW Tech

Yanıtlar:


4

CPT ve sınıflandırma terimleri eklenti ile oluşturulur. Eklentime aşağıdakileri ekleyerek sorguyu azaltmayı başardım:

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 );
     }
}

Şu an itibariyle 1500+ taksonomi terimine bağlı 700'den fazla gönderi var ve her şey harika çalışıyor. Mesajlar neredeyse anında ortaya çıkıyor.

** Bu kodu yazmadım. Doğrudan birlikte çalıştığım, WordPress Yanıtlar topluluğunun bir parçası olmayan biri, kodu sağladı - belki başka birine yardımcı olabilir veya başka biri daha verimli hale getirmek için onu genişletebilir. **

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.