PHP y WPO – Benchmark de rendimiento PHP

Por | 2017-04-14T21:09:09+00:00 14/04/2017|Varios|Sin comentarios

Según W3Techs, PHP es una de las tecnologías más utilizadas del mundo superando ampliamente a la segunda tecnología más utilizada (ASP.NET).

En los últimos años PHP ha avanzado mucho, tanto en seguridad como rendimiento, pero sobre todo en lo que se refiere a rendimiento.

PHP actualmente se utiliza tanto para sitios web convencionales como para aplicaciones web o incluso para scripts internos, y al ser el lenguaje de programación web más utilizado, ha hecho que su desarrollo se haya acelerado bastante.

php benchmarkEn este artículo vamos a hablar de PHP y WPO, ya que estamos especializados en WordPress, concretamente en WPO para WordPress, por lo que este tipo de pruebas que vamos a mostrar en este artículo nos encantan.

Vamos a mostrar 5 pruebas diferentes con distintas circunstancias en cada una de ellas y distintos datos medidos, todo acompañado de gráficos.

Las pruebas se han realizado en diferentes entornos y en diferentes circunstancias utilizando el script PHP Benchmark (puedes descargarlo desde aquí) y el plugin Query Monitor para WordPress con el modo debug de WordPress activado.

 

Benchmark PHP Nº1

Esta primera prueba es una prueba realizada en un plan de hosting compartido utilizando el script PHP Benchmark.
Se ejecuta el script y este tarda un tiempo en devolver el resultado, ese tiempo es el que se mide, cuanto menos tiempo tarde en acabar las operaciones, mejor.

En este caso se han probado varias versiones de PHP:

  • PHP 5.1.6
  • PHP 5.2.17
  • PHP 5.3.29
  • PHP 5.4.45
  • PHP 5.5.38
  • PHP 5.6.30
  • PHP 7.0.17
  • PHP 7.1.3

Los resultados puedes verlos en el siguiente gráfico:

php benchmarkEl plan de hosting compartido utilizado es un “Hosting Avanzado 1” con 1 CPU y 1 GB de memoria RAM.

Como puedes ver, la diferencia de rendimiento entre PHP7.0 y PHP 5.1 es mucha, en el gráfico se puede apreciar una mejora de casi 3 segundos para hacer exactamente las mismas operaciones con el script.

 

Benchmark PHP Nº2

En este caso, al igual que en el benchmark nº1, se realizó la prueba utilizando el script de PHP Benchmark (exactamente el mismo script), pero en este caso se probó sobre un hosting Inicio SSD con los recursos mucho más limitados.

Se ejecuta el script y este tarda un tiempo en devolver el resultado, ese tiempo es el que se mide, cuanto menos tiempo tarde en acabar las operaciones, mejor.

En este caso, las versiones de PHP probadas en el benchmark vuelven a ser las mismas:

  • PHP 5.1.6
  • PHP 5.2.17
  • PHP 5.3.29
  • PHP 5.4.45
  • PHP 5.5.38
  • PHP 5.6.30
  • PHP 7.0.17
  • PHP 7.1.3

Los resultados del benchmark de rendimiento de PHP puedes verlos en el siguiente gráfico:

php benchmarkEl plan Inicio SSD de hosting compartido tiene menos recursos de CPU disponibles, aunque tiene 1 GB de memoria RAM.
Al permitir solo usar el 50% de uso de 1 núcleo de CPU, el rendimiento es inferior al del plan Avanzado SSD del benchmark anterior, por lo que los tiempos de espera para finalizar las operaciones del script de test son más largos.

En este caso la diferencia vuelve a ser notable, la diferencia de espera entre PHP7.0 y PHP5.1 para hacer exactamente las mismas operaciones se nota bastante, más de 6 segundos de diferencia.

 

Benchmark PHP Nº3

En este caso se trata de una prueba de rendimiento de PHP más orientado a WPO, ya que el benchmark fue realizado con un plugin para WordPress.
El plugin utilizado se llama WordPress Performance Test y hasta hace poco se podía encontrar en el repositorio de plugins de WordPress.

En este caso no se ha podido probar PHP 5.1 ya que no es compatible con WordPress, por lo que las versiones de las cuales se comprobó el rendimiento fueron estas:

  • PHP 5.2.17
  • PHP 5.3.29
  • PHP 5.4.45
  • PHP 5.5.38
  • PHP 5.6.30
  • PHP 7.0.17
  • PHP 7.1.3

En la siguiente gráfica puedes ver como ha quedado la cosa:

php benchmarkPara que te hagas una idea de las pruebas que realiza este plugin, puedes ver la siguiente imagen:

php benchmarkComo puedes ver en la gráfica, existe bastante diferencia en tiempo de proceso entre PHP7.1 (el que más rendimiento ofrece en este caso) y PHP 5.2 (la versión mínima de PHP soportada por WordPress en la versión 4.7).

 

Benchmark PHP Nº4

En este caso volvemos a realizar otra prueba de rendimiento utilizando el script PHP Benchmark, pero en este caso la prueba ha sido realizada en un servidor VPS con CentminMod con Nginx y PHP-FPM.

La realizar la prueba con PHP-FPM hemos podido probar menos versiones de PHP de las que probamos en otros casos:

  • PHP 5.5.38
  • PHP 5.6.30
  • PHP 7.0.17
  • PHP 7.1.3

En el siguiente gráfico puedes ver la diferencia de rendimiento entre PHP 5.5 y PHP 5.6 con PHP 7.0 y PHP 7.1:

El VPS con el que se ha realizado la prueba tiene 1 GB de memoria RAM y 1 CPU, Nginx con PHP-FPM es una combinación que funciona muy rápido y ofrece muy buen rendimiento en casos de mucho estrés.

En este caso se puede apreciar muy bien la diferencia de rendimiento que existe entre ejecutar PHP en la rama 5.X y ejecutar PHP en la rama 7.X, la mejora de rendimiento y WPO entre la versión 5 y la 7 es muy notable y puede llegar a ser determinante en sitios web desarrollados en este lenguaje.

 

Benchmark PHP Nº5

Las nuevas versiones de PHP no solo han mejorado el rendimiento y los tiempos de respuesta, sino que también se ha reducido el consumo de recursos al ejecutar el mismo código.

¿Qué quiero decir con esto? Que si ejecutamos el mismo código en PHP 5.X y PHP 7.X normalmente se ejecuta más rápido y se consumen muchos menos recursos en PHP 7.X, aunque se esté ejecutando exactamente el mismo código.

Para probar la memoria RAM utilizada por la ejecución de PHP utilizamos una instalación de WordPress con el modo debug activado y el plugin Query Monitor para WordPress, con eso conseguimos ver exactamente la RAM utilizada para cargar el index con el theme por defecto de WordPress y sin ningún plugin instalado.

En la siguiente gráfica puedes ver los resultados obtenidos en el benchmark:

Como puedes ver en la imagen anterior, PHP 7.1 consume casi la mitad de recursos que PHP 5.3 al ejecutar exactamente el mismo código en las mismas condiciones.

 

¿En que influye el rendimiento PHP en el WPO?

La respuesta a esta pregunta es simple: EN TODO.

Por mucho que nos esforcemos en implementar sistemas de cache o en minimizar al máximo las peticiones realizadas, siempre tendrá que procesarse todo al menos una vez para poder cachear, y con las últimas versiones de PHP conseguimos mejorar la eficiencia del intérprete a la hora de procesar esas peticiones.

Por otro lado, es importante tener en cuenta que en webs como tiendas online o redes sociales, siempre se va a procesar algún trozo de código PHP para poder ejecutar ciertas funcionalidades como las sesiones de usuario o el contenido dinámico que es diferente para cada usuario.
En estos casos la versión de PHP influye muchísimo, tanto para la velocidad de carga como para el consumo de recursos del sitio web en el servidor.

Resumiendo todo el post: si conseguimos mejorar la eficiencia del interprete PHP conseguiremos mayor eficiencia en el consumo de recursos y mejorar la velocidad de respuesta al ejecutar código PHP, y esto es precisamente lo que conseguimos en la rama 7.X de PHP, mejorar la eficiencia y además ayuda a conseguir un buen WPO.

[Total: 3 Promedio: 4.7]

About the autor:

Mi nombre es Alvaro Fontela, soy consultor Wordpress y blogger activo desde hace años. Co-Fundador de Raiola Networks, escribiendo sobre Wordpress en este blog día tras día.