¿Impacto en el rendimiento del uso de funciones en WordPress?

2

Tengo un sitio web que genera muchos contenidos dinámicos. Estoy enfrentando problemas de rendimiento incluso en mi host local, en un procesador Corei7.

He intentado deshabilitar todos los complementos innecesarios y ejecuté el perfilador de rendimiento p3 para ver los resultados. Los gráficos resultantes muestran que la mayor parte del tiempo de carga se gasta en el núcleo de WordPress (no en los complementos).

Estoy usando funciones simples como if() y bloginfo('name') y llamo metadatas como get_post_meta() y the_permalink() muchas veces en mis páginas, se podrían decir hasta tal vez hasta 50 funciones en cada página.

Estas funciones parecen muy simples, sin embargo, no estoy seguro de cuánto impacto tienen en el tiempo de carga.

¿Hay alguna forma de averiguar qué partes de la página consumen más tiempo? ¿O hay una guía general para comprender el impacto que tienen estas funciones en WordPress?

Las gracias están en órdenes.

    
pregunta Jack Johansson 25.01.2017 - 20:49

2 respuestas

3

La sobrecarga de la función PHP como mecanismo es mínima. Después de todo, casi todo lo que sucede son llamadas a funciones. En un hardware razonable, tendrá que aumentar las llamadas de función a miles y decenas de miles para generar una sobrecarga significativa (en lugar de hacer lo mismo con menos llamadas de función involucradas).

Vale la pena señalar que los perfiladores de PHP tienden a sobreestimar el impacto de las llamadas a funciones. Xdebug está especialmente ansioso por hacer eso. Más aún, el hecho de tener solo Xdebug habilitado puede ralentizar las cosas en un entorno con muchas funciones.

El generador de perfiles P3 usa el mecanismo de marcas de PHP para hacer un perfil, lo cual es altamente poco confiable.

Para obtener una perspectiva realista del rendimiento, debe utilizar un generador de perfiles que funcione en el nivel del motor PHP, como Xdebug o Blackfire. La falta de tales opciones de resolución de problemas de rendimiento es muy limitada y básicamente equivale a rellenar el código con temporizadores y destrozarlo hasta que descubras la parte lenta.

    
respondido por el Rarst 25.01.2017 - 21:06
1
  

perfilador de rendimiento p3

Este complemento funcionó bien, pero ahora descubrí que ya no es de buena calidad. ¿Has notado lo mismo?

Debes relajarte y dejar que el servidor web haga cosas. Elija complementos inteligentes de autores de confianza.

Cuando escribes temas o complementos, haz tanto como sea posible ob_start() magic para amortiguar tu salida.

Deseo que PHP se convierta en por adelantado , y por lo tanto más rápido.

    
respondido por el prosti 30.01.2017 - 22:17

Lea otras preguntas en las etiquetas