Se encuentra usted aquí

Primeras impresiones sobre lighttpd web server

Un día monitoreando el uso de recursos de uno de mis servidores, me di cuenta que los procesos de apache consumían cerca de 145 mb de memoria, lo cual es una enorme cantidad de memoria para el servidor web.

Después de estar desactivando módulos no utilizados de apache, y de php, lo menos a lo que pude reducir el uso de memoria fue de 120 mb, lo cual sigue siendo una cantidad considerable de memoria.
Por lo anterior me di a la tarea de probar otro servidor web.

El servidor elegido fue el lighttpd, un servidor web que, como su pagina lo indica, es seguro, rápido, flexible y cumple con estándares. Además tiene un uso de memoria realmente bajo, 22mb ya con unos cuantos módulos cargados.

Si le sumamos el mod_fastcgi y php para soporte de sitios dinámicos, con eso cada proceso fastcgi/php ocupa 75mb, lo cual nos da un total de 97 mb de uso total de memoria por proceso, sin duda un número menor que el proceso de apache.

Incluso la configuración fue mucho mas rápida ya que todo se encuentra en un solo archivo de configuración, y como la sintaxis de dicho archivo es similar a un script, es mas fácil de automatizar diferentes opciones.

Por el momento el servidor se encuentra funcionando sin problemas con baja carga, ahora que tenga un tiempo lo estresaré para ver como se comporta y analizar si remplazo completamente a apache.

Algunos datos interesantes sobre las configuraciones que utilice:

Detalles del servidor
Dual Intel Xeon 2.33 Ghz
4 GB de memoria ram
FreeBSD 7.2 prerelease amd64

Apache + mod_php
Con módulos core + mod_php -ldap
Uso de memoria por proceso: 142 MB

Apache + mod_php - módulos no utilizados
*_cache, dbd, dumpio, cern_meta, version, proxy, dav, status, info, cgi, imagemap, userdir, ldap
Uso de memoria por proceso: 120 MB

lighttpd + php
mod_alias, mod_access, mod_auth, mod_status, mod_fastcgi, mod_accesslog
Uso de memoria: 22 MB lighttpd + 75 MB php
Uso de memoria por proceso: 97 MB

Notas:

- Los 2 servidores web y php fueron instalados desde ports.
- El uso de memoria contempla segmentos de texto, datos y stack.