fbpx

PHP 7 – siente el poder

PHP 7 – siente el poder

PHP es el lenguaje más popular potenciando las aplicaciones web en todo el mundo. Desde un inicio uno de los temas pendientes con el desarrollo de las diferentes versiones de php es el rendimiento a nivel de la ejecución del código (cantidad de ciclos de cpu requeridos para ejecutar un script típico). En la medida que las aplicaciones php se volvieron más complejas, los tiempos de ejecución fueron aumentando.

Un efecto muy negativo en php ha sido siempre las esperas en la ejecución del código externo incluido (php entra en un bucle con 100% de tiempo de CPU durante la espera). Esto es especialmente complicado en el escenario actual cuando se incluye código que no solo es externo en el sentido de la lógica de la programación (archivo externo) si no que lo es fisicamente, estando alojado en otras redes y otros servidores.

En el ultimo tiempo la ineficiencia para gestionar un mayor nivel de complejidad en PHP se ha traducido en un incremento sustancial de los requerimientos de sistema para ejecutar las aplicaciones. En las primeras versiones de PHP teníamos una complejidad baja y una demanda de instrucciones de procesador sustancialmente más baja. Hoy en dia en PHP 5.6 podemos perfectamente utilizar más de 100.000.000 de ciclos de procesador para ejecutar un sólo script. Esto generó una gran demanda por más procesadores particularmente de la mano de la industria del hosting. Este problema es en verdad serio, muchas veces al cargar el core de wordpress se requieren más recursos que para ejecutar alguna versión de Microsoft Office. Si así de duro es, cargando un Office por cada vez que alguien pide una página de tu sitio. Tal es la carga de trabajo siempre disparada que han tenido que asumir las compañías de hosting y quienes gestionan sus propios servidores.

Zend ha trabajado intensamente en nuevas optimizaciones y cambios en la arquitectura interna de php para permitir mejorar el rendimiento en la ejecución del código. La versión 7 de php incluye un re diseño importante y un trabajo de la mano de Intel para lograr una mayor eficiencia al procesar código php sobre procesadores Xeon, mejorando sustancialmente el rendimiento.

Los benchmarks son muy elocuentes. La reducción en la demanda de instrucciones de cpu (y ciclos de cpu) bajo de 100 millones de ciclos promedio a 25 millones de ciclos. En promedio 3 veces más trabajo con el mismo tipo de hardware usando aplicaciones populares como magento ó una reducción del tiempo de ejecución a casi un cuarto del tiempo en el código general.

Probamos en producción PHP 7 en un sitio de alto trafico con WordPress. El resultado es sorprendente. Al mejorar la eficiencia y bajar los tiempos de ejecución se produce un beneficio sustancial ya que aumenta la disponibilidad de recursos en los sistemas con más demanda. Esto implica grandes reducciones de costos para escalar sitios de alto trafico, reducción de hardware y costes operativos en más de un 70%. cuando esto se combina con sistemas de aceleración ya tradicionales (opcache, varnish, etc). El resultado es muy solido.

Migrar a PHP 7 ofrece a los negocios en linea grandes beneficios en ahorro de costos y mejoras en la experiencia de los usuarios. Estas mejoras son tan relevantes que personalmente pienso que es prioritaria esta transición.

A modo de ejemplo un cluster que podía atender a 4.000 sitios web, operando con php 7 podria con los mismos recursos atender a más del doble de los usuarios, en el caso de un usuario final, su cuenta de hosting en ambiente multiusuario (ex compartido) puede ofrecer mucho más con los recursos con que cuenta.

Zend finalmente ha puesto las fichas en el mejoramiento de la escalabilidad permitiendo toda una nueva generación de aplicaciones funcionar con mejor eficiencia y al mundo del comercio electrónico definitivamente hacer más, mucho más con el dinero invertido en infraestructura.

En ADX ya tenemos disponible PHP 7 en todas las plataformas de hosting, es posible activarlo desde el panel de control de manera transparente y personalizada para cada sitio web.

Después de trabajar por muchos años con PHP por primera vez siento que estamos recuperando un performance que habíamos perdido. Es una gran noticia que hay que celebrar, sin embargo las actualizaciones demandan cambios en partes del código y es un proceso que tomara un tiempo hasta que el soporte para PHP 7 se vuelva amplio. La buena noticia es que la mayoría de los cms y sistemas de comercio han estado trabajando intensamente para actualizar sus sistemas. El mayor obstáculo esta en la programación de ciertos plugins y el código personalizado. Manos a la obra entonces por que bien vale la pena.

Roy Zderich

Roy es arquitecto de sistemas en ADX, con más de 20 años de experiencia en esta industria.

Https://www.adx.cl