sábado, 9 de agosto de 2008
Plataforma de Correo Segura en Windows Server 2003 Enterprise
lunes, 4 de agosto de 2008
BENCHMARK
Qué es??
Apache Benchmark (ab) es una herramienta para la evaluación comparativa de servidores web. Esta herramienta permite a los administradores llevar a cabo unas buenas pruebas de carga, simulando miles y miles de conexiones por segundo, antes de poner en marcha un servidor Web.
Esta aplicación viene por defecto con Apache2, es decir, no es necesario descargarla o instalarla.
Recomendaciones:
*Usa la misma configuración de hardware y kernel (SO) para todas las pruebas.
*Toma por lo menos de 3 a 5 lecturas y utiliza el mejor resultado.
Es importante realizar la pruebas con y sin KeepAlive (-k). Este parámetro permiten múltiples solicitudes en una misma conexión TCP. Cuando se hacen comparativas con benchmarks se tiene que hacer con equipos equivalentes y que todo sea lo más parecido posible y en las mismas condiciones, así se garantiza que los resultados sean lo mas parecido a la realidad.
El Objetivo de estas pruebas es ver cómo reaccionan los diferentes servidores web en situaciones extremas. Trabajaremos con algunas variables (-n, -k, -c)
Donde:
-n: Es el número de peticiones.
-k: Nos índica si la conexión se cierra o queda abierta para recibir las demás peticiones. Consume menos recursos y hace que el servidor responda más rápido.
-c: Número de concurrencias, solicitudes simultáneas. El valor máximo es 20000
NOTA: El sistema tiene un tope determinado de peticiones para algunos procesos. Es posible forzar el sistema utlizando el comando ulimit:
Esta función obtendrá o modificará algún límite para el proceso actual, en este caso, nos permite aumentar el número de peticiones y trabajar con números más grandes. Podemos obtener más información sobre estos procesos con ulimit -a:

Como podemos ver open file (-n) se encuentra en 10000, es decir que solo podemos enviar 10000 peticiones simultáneamente con ab (concurrencia), para forzar el sistema o cambiar este límite, debemos utilizar ulimit -n mas el valor que se desee, este valor llega a 1048576. Pero no es necesario llegar a este número (1048576) ya que por defecto la concurrencia en apache tiene un limite y es de 20000 peticiones simultáneamente. Sin embargo lo haremos a manera de ejemplo:
ulimit -n (número de 0 a 1048576)
Esto queda así:
Nos enfocaremos en los tiempo de respuestas (Time per request) que la prueba ab nos arroje. Y con éste valor más el número de peticiones se crearán unas gráficas comparativas entre los diferentes servidores web.
TIPS: Las pruebas se realizan con 3 servidores web montados en una sola máquina, estos servicios se encuentran corriendo en los puertos 80, 81 y 82.
Es importante que la longitud del documento (Document Length), es decir, el tamaño del index sea el mismo en los 3 servicios. En este caso utilizamos un pequeño index de 29 bytes.
Tenga en cuenta el / al terminar la URL
Prueba 1º
Detalles:
Procesador: Mobile AMD Sempron 1,81 GHz
Memoria: 512 MB
S.0: Debian GNU/Linux 4.0 "Etch"
Apache Benchmark Version 2.0.40-dev.
Versiones de los servicios web:
Apache 2.2.3 lighttpd-1.4.13Cherokee 0.5.5
Conclusiones Personales: En esta gráfica podemos ver claramente el desempeño de los servidores web. Inicialmente vemos algo muy variable.Vemos un aumento en los tiempos de respuesta de los 3 servidores, estas variaciones se dan en los rangos del 50 al 2000, después de las 2000 peticiones los 3 servidores se estabilizan y los resultados en los tiempos de respuestas tambien.Cabe notar que los tiempos de respuestas entre ellos no son los mismos. Podemos ver claramente que el tiempo de respuesta del servidor apache es muy alto, en pocas palabras, se demora mucho procesando una petición, cosa que no ocurre con el servidor web cherokee. Este servidor muestra un mejor desempeño incluso frente al servidor Lighttpd. Recordemos que esta prueba es muy exigente ya que en cada petición se debe abrir y cerrar la conexión.
Prueba 2º
Detalles:
Procesador: Mobile AMD Sempron 1,81 GHz
Memoria: 512 MB
S.0: Debian GNU/Linux 4.0 "Etch"
Apache Benchmark Version 2.0.40-dev.
Versiones de los servicios web:
Apache 2.2.3 lighttpd-1.4.13 Cherokee 0.5.5

Conclusiones Personales: Esta prueba es muy parecida a la primera, solo que para esta prueba se utilizó la variable -k que nos índica que la conexión queda abierta para recibir las demás peticiones, podemos ver que los tiempos de respuestas son mas favorables para los tres servidores ya que esta variable hace que los servidores consuman menos recursos y como consecuencia responden más rápido.
Prueba 3º
Detalles:
Procesador: Mobile AMD Sempron 1,81 GHz
Memoria: 512 MB
S.0: Debian GNU/Linux 4.0 "Etch"
Apache Benchmark Version 2.0.40-dev.
Versiones de los servicios web:
Apache 2.2.3
lighttpd-1.4.13
Cherokee 0.5.5
Conclusiones Personales: En nuestra tercera prueba podemos observar y concluir que el servidor web Cherokee responde mejor cuando se le aplica mayor carga, es decir, cuando tienes mas peticiones que procesar. Estas fueron unas pequeñas pruebas que se realizaron a los servidores web para tener una idea propia del rendimiento de cada uno. De manera muy personal los invito a que utilicen esta aplicación (Apache Benchmark) y realicen sus propias pruebas, recordemos que el resultado variará de acuerdo a la capacidad del computador, de las versiones que utilice en los servidores, del sistema operativo, entre otros.Hasta Pronto
domingo, 3 de agosto de 2008
LIGHTTPD Básico
apt-get install lighttpd
Si estas siguiendo paso a paso este manual, probablemente te salga este error al momento de arrancar el servicio.
Starting web server: can't bind to port: 80 Address already in use.
Nos esta indicando que el puerto 80 esta siendo usado, por tal motivo no puede arrancar. Efectivamente el cherokee esta corriendo en este puerto, y en el 81 se encuentra el apache, así que debemos cambiarle de puerto al lighttpd. Vamos a la carpeta lighttpd que se crea automáticamente en etc.
#cd /etc/lighttpd
Y edita al archivo de configuración lighttpd.conf
#nano lighttpd.conf
En la linea 59 aparece el puerto del servidor, se lo cambiamos, que quede así y si esta comentado lo descomentamos.
server.port = 81
Al momento de instalar lighttpd se crea en /var/www una pagina index.html, vamos y la ponemos bien bonita.
cd /etc/lighttpd# cd /var/www
#nano index.html
Ahora si podemos arrancar el servicio.
/etc/init.d/lighttpd restart
verificaremos por medio de un navegador. http://localhost
sábado, 2 de agosto de 2008
CHEROKEE Y HOSTVIRTUAL
Lo primero que hacemos es descargar el paquete
#wget http://www.cherokee-project.com/cherokee-last-tarball/cherokee-0.8.0.tar.gz
Nos ubicamos en la carpeta donde se descargo el paquete y procedemos a desempaquetar y descomprir.
#tar -zxvf cherokee-0.8.0.tar.gz
Configuramos el archivo en el sistema
#./configure --localstatedir=/var
--prefix=/usr
--sysconfdir=/etc
--with-wwwroot=/var/www
Compilamos el paquete
#make
Y por último instalamos.
#make install
Muy bien ahora empezamos a configurar.
Entramos a la carpeta de cherokee que se crea automática en el directorio etc, después de instalarlo.
#cd /etc/cherokee/
aquí podemos ver varios archivos de configuración y algunas carpeta, muy similar al apache, bien entramos a sites-availables
#cd site-available
Copiamos el archivo example.com en con los nombres que querramos para nuestro hostvirtual.
#cp example.com thiney.com
Ahora lo editamos
#nano thiney.com
En la linea 4 ponemos el nombre de nuestro hostvirtual y el la linea 5 la ruta completa para llegar a ésta. Así:
## Virtual server for thiney.com
Server www.thiney.com {
DocumentRoot /var/www/cherokee1/
Directory / {
Handler common
}
}
Para nuestro segundo hostvirtual copiamos este archivo con el nombre que querramos
#cp thiney.com maritza.com
Y realizamos el mismo procedimiento cambiando el nombre del hostvirtual y la ruta para llegar a esta.
## Virtual server for example.com
Server www.maritza.com {
DocumentRoot /var/www/cherokee2
Directory / {
Handler common
}
}