Вы находитесь на странице: 1из 10

Tecnologa para Gestionar Tu Negocio

Anlisis y pruebas de benchmarking de


servicios web en diferentes servidores
HTTP.
Junio 2010

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Contenido
Introduccin ...........................................................................................................................3
Objetivos.................................................................................................................................3
Entorno de pruebas ...............................................................................................................4
Descripcin.........................................................................................................................4
Configuracin de Software del servidor.............................................................................4
Configuracin de Hardware................................................................................................4
Configuracin de red..........................................................................................................4
Software utilizado para realizar pruebas de Performance.................................................4
Etapa de pruebas ...................................................................................................................5
Servidor Nginx....................................................................................................................5
Servidor Lighttpd ...............................................................................................................7
Servidor Apache ................................................................................................................8
Resultados...........................................................................................................................10
Conclusin............................................................................................................................10

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Intr oduccin
Las aplicaciones web actuales y principalmente las aplicaciones de negocios, deben tener la caracterstica
de integracin y comunicacin con otras aplicaciones. En Ready2Fill desarrollamos un complejo y
poderoso sistema gestor de servicios web utilizando Catalyst; un framework de desarrollo para Perl,
denominado Business Service Agent (BSA) que permite integrar nuestra aplicacin WAM Online
Business Tool; con cualquier otro tipo de aplicaciones que cumpla con los estndares de las tecnologas
REST y SOAP.
Esta aplicacin se encargara de gestionar cientos de peticiones concurrentes de otras aplicaciones, en un
sistema de este tipo es crucial que los tiempos de procesamiento, respuesta y porcentaje de error sean
mnimos, una de las decisiones ms importantes es la seleccin del servidor web sobre el cul se va a
ejecutar la aplicacin, en este documento se detalla las pruebas de benchmarking realizadas as cmo los
parmetros de medicin utilizados, esperando que sirva cmo punto de referencia para aplicaciones con
funciones y requerimientos similares.

Objetivos

Evaluar el desempeo y rendimiento que tienen los servidores web Apache, Nginx y Lighttpd
ejecutando peticiones concurrentes a los servicios web disponibles en el sistema BSA, que brinde
un panorama que permita hacer la eleccin correcta del servidor web sobre el cual se va a
ejecutara el sistema en el ambiente de produccin.

Medir el nivel mximo de concurrencia soportado por cara uno de los servidores web que permita
hacer la eleccin de las caractersticas de hardware necesarios para ejecutar este tipo de
aplicaciones.

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Entor no De Pr uebas
Descripcin
Para realizacin de estas pruebas, el sistema BSA se instal y configur en cada uno de los servidores
web, utilizando una mquina virtual XEN con sistema operativo Debian GNU/Linux, cada servicio fue
ejecutado de manera nica y sin ninguna otra configuracin que afectara la disponibilidad de memoria.
Configuracin de Software del servidor
Sistema Operativo:
Debian GNU/Linux Squeeze en un mquina virtual con Xen
Servidores HTTP:
Nginx/0.7.65 usando fastcgi.
Apache/2.2.15 usando mod_perl.
Lighttpd/1.4.26 usando fastcgi.
Base de datos:
PostgreSQL 8.4
Framework de desarrollo:
Catalyst 5.8

Configuracin de Hardware
Memoria total del sistema: 256 MB

Configuracin de red
Se asigno a cada uno de los servidores web un puerto y una direccin para ser ejecutados, a continuacin
de muestra al listado de la configuracin de nombres de dominios/puertos utilizados desde la computadora
cliente.

Direccin IP / Puerto

Servidor Web

sandbox.ready2fill.net:8090

Nginx

sandbox.ready2fill.net:80

Apache

sandbox.ready2fill.net:300

Lighttp

Software utilizado para realizar pruebas de Performance


Apache Jmeter 2.3.4

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Etapa De Pr uebas
La etapa de pruebas se compone de 3 escenarios, en cada uno de ellos se describe las configuraciones
aplicadas y el resultado obtenido, el cul ser analizado en la siguiente seccin del documento, en cada
uno de los escenarios.
Los parmetros de medicin utilizados son:

Tiempo mnimo de respuesta


Tiempo de respuesta mximo
Tiempo promedio de respuesta
Porcentaje de error.
Nivel de concurrencia.
Consumo de memoria.

Servicios requeridos para todos los escenarios:

/services/get/customer_invoice/10148
/services/get/vendor_data/10143
/services/get/customer_data/10221
/services/list/vendors_or_search_by_specific_field

Obtener informacin de una factura.


Obtener informacin de un proveedor.
Obtener informacin de un cliente.
Listar proveedores.

Servidor Nginx
Escenario 1:
Parmetros:
Nmero de usuarios conectados: 2
Nmero de peticiones por usuario: 4
Total de peticiones: 8
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 1.5
Porcentaje de error: 0%
Tiempo de respuesta promedio: 1,6 segundos
Tiempo de respuesta promedio mnimo: 0,5 segundos
Tiempo de respuesta promedio mximo: 1,7 segundos

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Escenario 2:
Parmetros:
Nmero de usuarios conectados: 20
Nmero de peticiones por usuario: 4
Total de peticiones: 80
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 1
Porcentaje de error: 11,25%
Tiempo de respuesta promedio: 14.1 segundos
Tiempo de respuesta promedio mnimo: 3.7 segundos
Tiempo de respuesta promedio mximo: 56.2 segundos

Escenario 3:
Parmetros:
Nmero de usuarios conectados: 40
Nmero de peticiones por usuario: 4
Total de peticiones: 160
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 3.4
Porcentaje de error: 8,12%
Tiempo de respuesta promedio: 10.3 segundos
Tiempo de respuesta promedio mnimo: 1.4 segundos
Tiempo de respuesta promedio mximo: 20.1 segundos

Observaciones:
Se observo un ndice de 87.5% de error al ejecutar el servicio de listar clientes, el cul es un
servicio que mayor tiempo de procesamiento genera.

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Servidor Lighttpd
Escenario 1:
Parmetros:
Nmero de usuarios conectados: 2
Nmero de peticiones por usuario: 4
Total de peticiones: 8
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 2,7
Porcentaje de error: 0%
Tiempo de respuesta promedio: .7 segundos
Tiempo de respuesta promedio mnimo: 0,5 segundos
Tiempo de respuesta promedio mximo: 0,9 segundos

Escenario 2:
Parmetros:
Nmero de usuarios conectados: 20
Nmero de peticiones por usuario: 4
Total de peticiones: 80
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 3,2
Porcentaje de error: 0%
Tiempo de respuesta promedio: 5,5 segundos
Tiempo de respuesta promedio mnimo: 1,9 segundos
Tiempo de respuesta promedio mximo: 9.8 segundos

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Escenario 3:
Parmetros:
Nmero de usuarios conectados: 40
Nmero de peticiones por usuario: 4
Total de peticiones: 160
Resultados:
Promedio de solicitudes que se pueden atender por segundo: 3,2
Porcentaje de error: 0%
Tiempo de respuesta promedio: 10.6 segundos
Tiempo de respuesta promedio mnimo: 1.0 segundos
Tiempo de respuesta promedio mximo: 14.4 segundos

Servidor Apache
Escenario 1:
Parmetros:
Nmero de usuarios conectados: 2
Nmero de peticiones por usuario: 4
Total de peticiones: 8
Resultados:
Porcentaje de error: 25%
Tiempo de respuesta promedio: 0,8 segundos
Tiempo de respuesta promedio mnimo: 0,2 segundos
Tiempo de respuesta promedio mximo: 1,5 segundos

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Escenario 2:
Parmetros:
Nmero de usuarios conectados: 20
Nmero de peticiones por usuario: 4
Total de peticiones: 80
Resultados:
Porcentaje de error: 88%
Tiempo de respuesta promedio: 4,6 segundos
Tiempo de respuesta promedio mnimo: 0,5 segundos
Tiempo de respuesta promedio mximo: 16, segundos

Escenario 3:
Parmetros:
Nmero de usuarios conectados: 40
Nmero de peticiones por usuario: 4
Total de peticiones: 160
Resultados: Apache Fallo todas las peticiones.

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Resultados

Escenario 1: El servidor Lighttpd obtuvo los mejores tiempos en la prueba de dos usuarios, al
tener un tiempo de respuesta promedio de 0,7 segundos, seguido del de Nginx con 1,3 segundos.
El servidor Apache obtuvo 100% de error en la peticin de listar proveedores.

Escenario 2: Los mejores tiempos de respuesta los obtuvo el servidor Lighttp con 5,5 segundos
de promedio de respuesta con 80 (20 usuarios) peticiones, el servidor Nginx obtuvo cierta
inestabilidad mientras que apache fall todas las peticiones.

Escenario 3: El servidor Nginx obtuvo mejores tiempos de respuesta, sin embargo tuvo un 8,6 %
de peticiones fallidas, el servidor lighttpd aunque su tiempo de respuesta fue un poco mayor acert
en todas la peticiones, el servidor Apache fallo todas las peticiones.

Tiempo promedio por peticiones de usuario


2 Usuarios
Servicios
Obtener factura de cliente
Consultar proveedor
Listar proveedores
Consultar cliente
Promedio

20 Usuarios

Nginx Lighttpd Apache Nginx Lighttpd Apache


1,6
0,9
1,5
7,5
6,1 error
1,6
0,5
0,9
5,7
6,1 error
1,5
0,7 error
7,5
4,8 error
0,5
0,7
0,5
35,9
5,1 error
1,3

0,7

0,8

14,1

5,5

40 Usuarios
Nginx Lighttpd Apache
6,9
7,3 error
8,8
11,6 error
14,5
11,0 error
11,1
12,6 error
10,3

10,6

Conclusin
El mayor problema que se present fue en consumo de memoria, originado por las mltiples o
operaciones que realiza la aplicacin, se observo un alto porcentaje de inestabilidad al ejecutar
BSA en una mquina virtual de 128 MB, por lo que la memoria fue incrementada a 256 MB,
basndonos en los parmetros de medicin y en los resultados obtenidos se obtuvo que el
servidor web con mejor desempeo para este tipo de aplicaciones es Lighttpd y muy cerca
del rendimiento esperado se encuentra Nginx por lo que no se descarta su uso con una
configuracin ms optimizada.

Ready2Fill Services S.C.


Av. Lzaro Crdenas # 709, Sta. Mara Ixcotel, 71228. Sta. Luca del Camino, Oaxaca +(52) 951 176 34 39

Вам также может понравиться