Panel de control de WordPress, viendo resultados de CPT en 504

10

Creé un tipo de publicación personalizada con una taxonomía personalizada. Tengo alrededor de 1500 publicaciones, todas ellas asignadas a algún tipo de término de taxonomía ... algunas asignadas a más de 200 términos.

Noté que desde el panel de control, se tarda mucho tiempo en ver los tipos de publicaciones personalizadas, la mayoría de las veces resulta en un 504 Gateway Time-Out.

Consultar estas publicaciones desde el front-end está bien y no tengo problemas con eso.

Tengo entendido que cuando el panel de control intenta ver estos tipos de publicaciones personalizadas, intenta extraer toda la información asignada a cada publicación, antes de que muestre todo.

Tengo este conjunto de instalación de WP para poder usar tanta memoria como sea necesario (memory_limit = -1), como estaba investigando, algunos dijeron que puede estar relacionado con la memoria.

¿Hay algo que pueda hacer para aumentar el rendimiento de esta consulta ... tal vez no cargar todas las relaciones de término de taxonomía de una publicación hasta que esté editando la publicación?

Errores después de aumentar WP_MEMORY_LIMITde 1 Gb a 2 Gb:

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
NW Tech
fuente
FWIW, aumenté la memoria de mi sitio de WordPress a 2Gb y eso me permitió ver las publicaciones, sin embargo, recibo una gran cantidad de errores (agregado a la pregunta original). ¿Hay algo que se pueda hacer para que la consulta en el back-end no sea tan pesada?
NW Tech
Cuando menciona ver los tipos de publicaciones personalizadas desde el panel, ¿se refiere a ver la lista de publicaciones ubicadas en wp-admin/edit.php?post_type=services?
bosco
@bosco Eso es correcto.
NW Tech
Esa es una gran cantidad de memoria para asignar a Wordpress. ¿Estás en un alojamiento compartido, un VPS o un servidor dedicado? Podría haber problemas subyacentes más profundos aquí. ¿Estás usando Apache u otro servidor web como Nginx (quizás ambos)?
Dwayne Charrington
Este es un nuevo servidor (dv) con MediaTemple. El panel de control es Plesk y el servidor ejecuta CentOS con Apache y Nginx. No quiero asignar tanta memoria, pero parecía ser la única forma de obtener resultados.
NW Tech

Respuestas:

4

Los términos CPT y taxonomía se crean a través de un complemento. Pude disminuir la consulta agregando lo siguiente a mi complemento:

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

Hasta el momento, tengo más de 700 publicaciones vinculadas a más de 1500 términos de taxonomía y todo funciona de maravilla. Las publicaciones se muestran casi instantáneamente.

** No escribí este código. Alguien con quien trabajo directamente, que no es parte de la comunidad de Respuestas de WordPress, proporcionó el código; tal vez pueda ayudar a alguien más, o alguien más puede expandirse para hacerlo más eficiente. ** **

NW Tech
fuente