thinkClear » 2007 » Noviembre

Últimamente, me estoy interiorizando bastante en temas de eficiencia en transacciones web y quería comentarles que estuve haciendo pruebas en un servidor que tengo en casa con varias aplicaciones, pero que por sobre todo, es un servidor de aprendizaje (aconsejo que cualquiera que tenga una máquina vieja, digasé Pentium 1, pentium 2, o partes de máquinas de amigos que no les sirvan, se armen una y hagan su propio server). Eso es lo que hice yo :). Y funciona como servidor web con soporte php, python, servidor svn, servidor jabber, mysql, etc. Obvio que la usa muy poca gente…..pero sirve perfectamente.

En una de estas pruebas, me dispuse a probar un servidor web llamado lighttpd. Este servidor se está haciendo bastante conocido y está siendo utilizado por sitios como youtube, algunos servers de la wikipedia, etc.

Realmente, noté que este servidor web es MUY rápido, sobre todo en comparación con apache2. En la página de este, podemos ver un benchmark que lo demuestra. Si no confian mucho en estas estadísticas, por estar en la pagina de lighttpd, pueden buscar por internet, hay miles.

En comparación con apache2, lighttpd ofrece muchas menos características.

Otra cosa (además del servidor web) que me parece muy importante, tiene que ver ya con PHP. Debido a que PHP es un lenguaje de compilación dinámica, cada script es compilado y ejecutado en tiempo de ejecución. Lo que hace que no se guarde el script compilado y este se regenere cada vez que se ejecute.
Debido a esto, existen aceleradores PHP que lo que hacen es compilar los script y cachearlos. Este tipo de aceleración puede hacer que las aplicaciones que se realicen utilizando PHP, se ejecuten hasta un 50% más rápido, lo que obliga a utilizar cacheadores PHP en sistemas en producción que necesiten realmente una respuesta rápida.

Uno se podría preguntar:
Si esto es así, porque no estan los aceleradores en el core de PHP?
La respuesta es muy facil. Zend, la empresa que brinda PHP tiene su propio “Optimizer” que por supuesto, hay que pagarlo.
En PHP6, va a venir por defecto APC, dentro del core de PHP.

Yo en mi caso probé con eaccelerator.
Y la verdad es que noté otra gran mejora en el rendimiento.

Instalación del source de eaccelerator: http://eaccelerator.net/wiki/InstallFromSource

Página principal de lighttpd: http://lighttpd.net