PHP: El renacer del rey del lado servidor

Jose Luis Gomez
PHP

PHP es el lenguaje de programación que mueve la web y seguirá siendo así durante años. Es cierto que es un lenguaje que, en muchos casos, resulta más odiado que querido por los desarrolladores, pero intentemos ver por qué.

PHP se creó en 1995 como un conjunto de herramientas sencillo que permitía escribir código del lado del servidor en un documento HTML, sin necesidad de llamadas externas. Es por este motivo que su implantación en el mercado fue muy rápida y, hoy en día, según datos de w3techs, sigue representado casi el 83% del backend de todos los sitios webs conocidos. Es una cifra que resulta escandalosamente alta, y más teniendo en cuenta la fama que tienen sus competidores directos, que nada tiene que ver con su cuota de mercado: ASP.NET 15%, Java 2,6%, Ruby 0,5%, JavaScript (node) 0.4% y Python 0.2%. Resulta curioso que los sitios webs generados por archivo estáticos representan el 1.5%. Por increíble que parezca, hay el triple de sitios web estáticos que usan Ruby o Node.js. Bien es cierto que existe, o existió, una tendencia a generar sitios web estáticos a partir de formatos de marcado tipo Markdown desde Ruby o Node.js, pero en cualquier caso, PHP tiene una cuota de mercado 5 veces superior a su competidor más cercano, y más de 200 veces superior a plataformas tan en alza como Node.js.
 

¿De dónde surge el rechazo a PHP?

 
PHPDebido a su facilidad para ser aprendido y ponerse en producción, también acarreó durante algunas versiones problemas de rendimiento en momentos de un alto número de conexiones concurrentes. Esto generó la necesidad de fuertes inversiones en infraestructura y balanceo de carga si se cuenta con una plataforma PHP con una alta utilización.

Muchos gigantes de Internet funcionan sobre PHP, como Yahoo, Flickr, Wikipedia o Facebook, y precisamente de este último es de donde surge el renacer de PHP. Facebook encontró que corriendo sobre PHP el coste en recursos de computación era muy alto y, en lugar de decidir traducir toda su infraestructura a otro lenguaje más eficiente, lo que podría haber supuesto el descalabro de uno de los grandes de Internet, hallaron su propia solución: compilar el código PHP a otro lenguaje. No obstante, en lugar de hacerlo a otros lenguajes como C/C++, directamente se compila a bytecode para luego ser compilado a código máquina x64 durante el tiempo de ejecución, o JIT: Just-in-Time.

Dicho de otra manera, Facebook desarrolló su propia máquina virtual, llamada HHVM, que compila y ejecuta el código PHP a código máquina. Así, obtiene un rendimiento 6 veces superior al intérprete de PHP tradicional, y disminuye los tiempos de respuesta a la mitad en situaciones de alta carga de trabajo. Visto desde otro punto de vista, Facebook redujo 6 veces su coste de infraestructura.
 

Mejoras de rendimiento con PHP 7

 
Un tiempo después, Facebook decidió liberar el código de su HHVM y, desde entonces, la comunidad encargada del desarrollo de PHP empezó a implementar sus ventajas en la rama PHP 7, que fue publicada a finales de 2015. Una de las empresas con mayor implicación y conocimiento en PHP es Zend Technologies, famosa entre otras cosas por su Zend Framework, uno de los más usados en PHP. Esta organización publicó los resultados de sus pruebas de rendimiento del mismo hardware ejecutando los mismos sitios web con PHP 5.6 y PHP 7.0:

  • Magento, el famoso motor de e-Commerce, logra el triple de transacciones por segundo, la mitad de tiempos de respuesta y un consumo de memoria un 30% inferior.
  • WordPress, tanto en su versión 3.6 como 4.1, obtiene el doble de peticiones por segundo con PHP 7, reduciendo a un cuarto el número de intrusiones de procesador por petición.
  • Los frameworks más utilizados para el desarrollo de aplicaciones web con PHP, como son Zend Framework 2 y Laravel, obtienen datos similares a lograr el doble de peticiones por segundo.

Todos estos benchmarks comparan PHP 5.6, que es la última versión anterior a la rama 7, que ya había sufrido fuertes optimizaciones de rendimiento respecto de sus predecesores, con PHP 7.0. A finales de 2016 fue publicado PHP 7.1, que anunciaba todavía más mejoras de rendimiento, ante lo cual, otro de los frameworks más utilizados en PHP, Symfony, publicó sus benchmarks, que comparaban PHP 7.0 con PHP 7.1 para obtener una mejoría en torno al 7% en situaciones de poca carga y un 4% en situaciones de alta carga. Es decir, la mejora de rendimiento con 7.1 es todavía mayor.

En el futuro se espera que próximas versiones de PHP 7.2 o PHP 8 utilicen la tecnología JIT, compilación en tiempo de ejecución sobre todas estas mejoras, similar a la que hizo que la máquina virtual de Facebook obtuviese un rendimiento tan mejorado.

A pesar de todo lo anterior, PHP 5 sigue copando el uso de PHP con un 93%, mientras que la penetración de PHP 7 sólo llega al 6%, a pesar de contar con una madurez importante habiendo llegado a la versión 7.1.7 hace unos días.

Todo parece indicar que PHP se está adaptando muy correctamente a los nuevos tiempos y afianzará su posición dominante, de hecho, desde la publicación de PHP ha aumentado ligeramente su cuota de mercado

¿Todo esto ayudará a PHP a deshacerse de su fama de lenguaje lento y “gastón”?
 

Contacta ahora con Sarenet

 

Sobre este Autor

Ing. Telemática | CEO B2CODE | CTO Hialucic |

Enviar una respuesta

No hay comentarios