0

Tuning IHS: parámetros “peligrosos”

El IBM HTTP Server (IHS) soporta varias características y parámetros de configuración que pueden tener un impacto importante en el rendimiento del servidor.

Conviene evitar el uso de estas características hasta que existan razones muy bien fundadas para activarlas.

HostnameLookups On

Penalización al rendimiento: más DNS lookups por petición.

Por defecto está desactivado en los ficheros de configuración de ejemplo.

IdentityCheck On

Penalización al rendimiento: posibles retrasos en la petición al contactar con el demonio RFC 1413 (usado para identificar al usuario) que posiblemente está corriendo en la máquina.

Por defecto está desactivado en los ficheros de configuración de ejemplo.

mod_mime_magic

Penalización al rendimiento: más cosumo de CPU y lectura/escritura en disco al tratar de encontrar el tipo de fichero.

Por defecto está desactivado en los ficheros de configuración de ejemplo.

ContentDigest On (solo en 1.3)

Penalización al rendimiento: más consumo de CPU al procesar los hashs MD5 de la respuesta.

Por defecto está desactivado en los ficheros de configuración de ejemplo.

Ajustar MaxRequestsPerChild a valores distintos a cero

Penalización al rendimiento: más consumo de CPU al terminar y crear procesos hijo. En IHS 2 y superiores en Linux y UNIX puede hacer que se cree un número excesivo de procesos hijo, lo que implicaría un uso excesivo de espacio swap (zona del disco que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física).

Una vez que un proceso hijo alcanza su MaxRequestsPerChild deja de recibir peticiones nuevas, pero las existentes pueden terminar de completarse. En otras palabras: una simple petición demasiado larga en el proceso puede mantenerlo activo indefinidamente en algunos casos. En entornos en los que este tipo de peticiones no son habituales implicaría la creación de muchos procesos hijo.

Por defecto está configurado al ajuste óptimo (0).

En algunos casos extraños está recomendado ajustar MaxRequestsPerChild a valores distintos a cero para solucionar temporalmente un consumo excesivo de recursos.

Ficheros .htaccess

Penalización al rendimiento: más cosumo de CPU y lectura/escritura en disco al guardar estos ficheros .htaccess en los directorios en que se sirven los contenidos estáticos.

El uso de ficheros .htaccess está deshabilitado en los ficheros de configuración por defecto.

Nivel de detalle de los logs

Parámetros como SSLTrace, plug-in LogLevel=trace, GSKit trace o módulos de terceros se usan habitualmente para diagnóstico de problemas. Si una o varias de estas trazas se queda activada una vez resulto el problema el consumo de CPU es más elevado de lo normal.

El nivel de log detallado está deshabilitado por defecto.

Deshabilitar Options FollowSymLinks

Si los ficheros de contenido estático son mantenidos por usuarios “no seguros”, quizás sea recomendable deshabilitar esta opción en la configuración para que estos usuarios no puedan crear enlaces simbólicos a ficheros privados que en situaciones normales no deberían servirse. El problema es que deshabilitar FollowSymLinks implica una degradación en el rendimiento, pues el servidor tiene que comprobar cada componente del pathname para ver si se trata de un enlace simbólico.

Esta opción está habilitada por defecto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *