Rendimiento de mi estructura de enlaces permanentes?

14

He leído la discusión sobre el rendimiento de diferentes enlaces permanentes en la lista de correo de hackers de wp, ESTE foro y alrededor de Google.

Sin embargo, realmente no podría deducir si la estructura de enlaces permanentes que he estado usando durante los últimos años es buena o no:

/%postname%-%year%%monthnum%%day%.html

Esta combinación coloca el nombre de la publicación directamente después de / y la combinación de año, mes y día lo hace más exclusivo ya que muchos nombres de publicaciones llevan el mismo nombre. La adición de HTML es algo que he estado usando durante los últimos 10 años en mi blog (incluso antes de WordPress), por lo que es un legado.

No sé si esto es bueno para la permanente o malo para el rendimiento, ¿cómo puedo verificar esto?

(He estado ejecutando el blog durante más de 10 años y hay alrededor de 10.000 publicaciones con muchos enlaces)

Enlaces:

  1. http://codex.wordpress.org/Using_Permalinks

  2. http://www.google.com/search?q=wordpress+category+permalink+performance

  3. http://ottopress.com/2010/category-in-permalinks-considered-harmful/

  4. http://lists.automattic.com/pipermail/wp-hackers/2010-October/035458.html

Edelwater
fuente

Respuestas:

8

Puede verificar mirando el tamaño de la opción rewrite_rules en la base de datos. Si es pequeño (lo cual creo que debería ser con esta estructura), no estás usando reglas detalladas. Por el contrario, si ve varias líneas por página estática, está utilizando reglas detalladas y no es bueno.

Denis de Bernardy
fuente
desafortunadamente ... hay varias líneas por página estática GRIN. Así que probablemente esta no sea una buena estructura de enlace permanente ... hmmmm ... esto explica un mensaje de error que recibí hace un tiempo "Error de la base de datos de WordPress Obtuve un paquete más grande que 'max_allowed_packet", tuve que aumentar esta configuración en MySql.
edelwater
una vez más ... si sigues agregando páginas durante años, obtendrás automáticamente max_allowed_packet sin importar qué ... a menos que vuelvas a enlaces no bonitos ... (creo) así que ... para ser escalable durante los próximos 30 años: ) Probablemente tendré que volver a los enlaces permanentes no bonitos. Yo creo que.
edelwater
1
Siempre que utilice reglas no detalladas, su página, el adjunto y las reglas de tipo de publicación personalizada son genéricas. Por lo tanto, los enlaces bonitos son bastante seguros en la práctica, siempre que utilicen una estructura no detallada.
Denis de Bernardy
1

Veto la respuesta aceptada. La complejidad de las reglas de reescritura no es de ninguna manera una medida para el desempeño de la búsqueda de artículos.

En particular, parece que comenzar tus enlaces permanentes con nombres de publicaciones es malo; ver http://codex.wordpress.org/Using_Permalinks#Structure_Tags

Sin haber examinado el código de Wordpress, puedo imaginar que de alguna manera indexan las publicaciones jerárquicamente. Por lo tanto, las variables utilizadas en los enlaces permanentes deben ordenarse de izquierda a derecha de la variable más general a la más específica de publicación utilizada. Esta heurística favorece fuertemente los estándares año / mes / nombre o categoría / nombre.

Rafael
fuente
1
category/namese sabe y se confirma que causa problemas de rendimiento si hay una gran cantidad de páginas. No está tan relacionado con la velocidad de búsqueda como con la deducción del objeto correcto para servir y la complejidad de las reglas de reescritura es completamente relevante.
Rarst el
¿Me puede dar una referencia de documento / código por favor? Acabo de leer el código (wp-include/rewrite.phpy wp-include/query.php); Si bien se ve realmente horrible e innecesariamente complicado, parece que básicamente las partes se recopilan e identifican y luego se insertan directamente en las consultas SQL. Todavía no puedo ver por qué esto debería tomar más tiempo para diferentes órdenes. Pero cuando se ejecuta la consulta db, se deben realizar varias uniones y aquí el orden realmente importa. Me parece recordar que MySQL es particularmente malo para optimizar el orden de unión.
Raphael el
No estoy muy metido en la teoría DB, pero debes mantener los productos pequeños. En cualquier caso, esto podría ser un error en el sentido de que está programado no tan eficientemente como podría ser.
Raphael el
2
el Codex da "Algunas sugerencias" (ver Codex) y no especifica el algoritmo completo. Sin embargo, apunta a ottopress.com/2010/category-in-permalinks-considered-harmful y comox.textdrive.com/pipermail/wp-testers/2009-January/… en general, existe una especie de fricción entre las mejores prácticas del hackeo de URL en el campo de la interacción y el rendimiento de la computadora humana desde el campo de la mejora del rendimiento.
edelwater
1
Gracias por el puntero ottopress. Parece que se cambian las convenciones de modo que cada URL de la página comience con /page/y cada URL de publicación /post/, eliminando la ambigüedad. Debería poder hacerlo usted mismo, agregando el texto fijo a su estructura de enlace permanente. Probablemente sea una buena decisión, de todos modos; ¿Qué sucede si tengo una BAR de publicación en la categoría FOO y una BAR de página que es una subpágina de FOO? Ambos se abordarían /foo/bar/asumiendo el esquema% category% /% postname%. ¿O las babosas son globalmente únicas?
Raphael
0

Solo para el control de calidad del flujo de trabajo:

La respuesta es: NO, esta no es una buena estructura de enlace permanente con respecto al rendimiento.

Edelwater
fuente