Para servir contenido estático puro (sin lógica de aplicación detrás, solo ficheros), ¿hay alguna diferencia real de rendimiento hoy entre lighttpd y Nginx que compense elegir uno sobre otro, o a estas alturas ambos están tan optimizados para ese caso concreto que la diferencia es insignificante en la práctica?
Los benchmarks clásicos de hace años solían dar a lighttpd algo de ventaja en escenarios muy concretos de miles de conexiones simultáneas con archivos pequeños, pero Nginx ha evolucionado muchísimo desde entonces y tiene un ecosistema de módulos y documentación incomparablemente mayor. ¿Alguien ha hecho la comparativa con hardware/escenarios actuales, o directamente se descarta lighttpd por pura falta de comunidad y no por rendimiento?
Alvaro
No he hecho una comparativa rigurosa reciente con hardware actual, pero por lo que he leído de gente que sí la ha hecho en los últimos años, la diferencia de rendimiento puro para servir estático se ha vuelto prácticamente insignificante entre los dos, ambos están sobradamente optimizados para ese caso concreto (que además es el más sencillo de optimizar bien, comparado con proxy dinámico o lógica más compleja).
Lo que sí marca la diferencia real hoy, más que el rendimiento en sí, es todo lo que rodea al servidor: Nginx tiene un ecosistema de módulos, documentación, ejemplos de configuración para casi cualquier escenario imaginable, e integración nativa con prácticamente cualquier herramienta de despliegue moderna. lighttpd, aunque técnicamente competente, no tiene ni de lejos ese volumen de comunidad y recursos disponibles.
Así que coincido con tu segunda hipótesis: en la práctica, se descarta lighttpd sobre todo por falta de comunidad/ecosistema, no porque alguien haya medido rendimiento real y haya salido perdiendo. Si el rendimiento fuera el único criterio, probablemente muchos proyectos seguirían eligiendo lighttpd para casos de estático puro sin pensarlo dos veces, pero el coste de tener menos gente que lo conozca y menos recursos si algo falla acaba pesando más en la decisión final.
Jota