Multiples hilos de ejecución
En la versión 7.00 hemos dado un paso decisivo:
la inclusión de la arquitectura multi-thread (multi-hilo). Con esto Ironwall
es capaz de realizar diferentes tareas al mismo tiempo con diferentes procesadores
o con uno solo con resultados asombrosos. Multiplica la velocidad varias veces,
siendo mucho más rápido en las tareas cgi (usando php, asp, perl,
etc).
Gracias al diseño híbrido de Ironwall hemos podido compatibilizar
los modelos de funcionamiento con el multi-hilo consiguiendo un funcionamiento
muy estable, seguro y con mucha velocidad sin agotar recursos de sistema en
comparación con otros servidores. Además es posible definir el
número máximo de hilos para realizar la multitarea, permitiendo
al administrador optimizar mejor el funcionamiento del mismo.
Número máximo de hilos:
Es recomendable establecer valores bajos en máquinas lentas. Los usuarios que dispongan de ordenadores muy potentes podrán poner valores altos, es decir, permitirán a su servidor ejecutar más tareas cgi. Lo suyo es que se establezca un valor lógico, por ejemplo, 2 o 4 hilos es una cantidad adecuada para la mayoria de los usuarios.
Es importante tener en cuenta que determinados
interpretes/cgi pueden ocasionar problemas de memoria si se ejecutan demasiados
hilos al mismo tiempo. Puede suceder esto incluso con PHP. Los problemas no
aparecerán en un principio, solo cuando realmente haya un flujo tan grande
de peticiones que provoque un conflicto de ejecución simultanea entre
diferentes cgis o intérpretes. Si el usuario/administrador del servidor
recibe algún mensaje de error ya sea de Ironwall o de los interpretes
es recomendable ajustar correctamente el valor a la baja. Además, en
muchos intérpretes y cgis se suele poder configurar temas relacionados
con el sistema "multi-thread", esto hay que tenerlo muy en cuenta.
Lo bueno es que a pesar de que un cgi no funcione sobre servidores multi-hilo
podemos poner tranquilamente como valor máximo "1", es decir,
solo un hilo y aún así conseguiremos mejoras de velocidad, pues
realmente seguirán realizandose las tareas de cgi en segundo plano evitando
el bloqueo temporal de servidor en cada petición.
Atención: Con algunos cgi el uso de múltiples hilos puede dar problemas. En estos casos es recomendable que como máximo se pueda ejecutar un solo hilo. Si el cgi soporta servidores multi-hilo (multi-thread) seguramente tenga algún archivo de configuración para indicarlo; esto también ocurre con PHP y otros interpretes. Recomendamos realizar pruebas específicas para ver la compatibilidad.
Aunque Ironwall puede manejar simultáneamente 512 hilos de ejecución recomendamos ajustarlo desde 1 en adelante haciendo pruebas diversas y comprobando la estabilidad y consumo de cpu. Muchos hilos no significa más velocidad sino todo lo contrario, en exceso y sin una máquina que sea capaz de manejarlos dará malos resultados.