Tecnología para Gestionar Tu Negocio


    Análisis y pruebas de benchmarking de
       servicios web en diferentes servid...
Contenido
   Introducción ...................................................................................................
Intr oducción

Las aplicaciones web actuales y principalmente las aplicaciones de negocios, deben tener la característica
...
Entor no De Pr uebas

Descripción
Para realización de estas pruebas, el sistema BSA se instaló y configuró en cada uno de ...
Etapa De Pr uebas
La etapa de pruebas se compone de 3 escenarios, en cada uno de ellos se describe las configuraciones
apl...
Escenario 2:
             Parámetros:

               Número de usuarios conectados: 20
               Número de peticione...
Servidor Lighttpd
       Escenario 1:

               Parámetros:
               Número de usuarios conectados: 2
        ...
Escenario 3:

               Parámetros:
               Número de usuarios conectados: 40
               Número de peticio...
Escenario 2:

               Parámetros:

               Número de usuarios conectados: 20
               Número de petici...
Resultados
   •    Escenario 1: El servidor Lighttpd obtuvo los mejores tiempos en la prueba de dos usuarios, al
        t...
Upcoming SlideShare
Loading in …5
×

Análisis y pruebas de benchmarking

1,529 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,529
On SlideShare
0
From Embeds
0
Number of Embeds
305
Actions
Shares
0
Downloads
38
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Análisis y pruebas de benchmarking

  1. 1. Tecnología para Gestionar Tu Negocio Análisis y pruebas de benchmarking de servicios web en diferentes servidores HTTP. Junio 2010 Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  2. 2. Contenido Introducción ...........................................................................................................................3 Objetivos.................................................................................................................................3 Entorno de pruebas ...............................................................................................................4 Descripción.........................................................................................................................4 Configuración de Software del servidor.............................................................................4 Configuración de Hardware................................................................................................4 Configuración 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 Conclusión............................................................................................................................10 Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  3. 3. Intr oducción Las aplicaciones web actuales y principalmente las aplicaciones de negocios, deben tener la característica de integración y comunicación 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 aplicación WAM Online Business Tool; con cualquier otro tipo de aplicaciones que cumpla con los estándares de las tecnologías REST y SOAP. Esta aplicación 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 mínimos, una de las decisiones más importantes es la selección del servidor web sobre el cuál se va a ejecutar la aplicación, en este documento se detalla las pruebas de benchmarking realizadas así cómo los parámetros de medición utilizados, esperando que sirva cómo punto de referencia para aplicaciones con funciones y requerimientos similares. Objetivos • Evaluar el desempeño 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 elección correcta del servidor web sobre el cual se va a ejecutara el sistema en el ambiente de producción. • Medir el nivel máximo de concurrencia soportado por cara uno de los servidores web que permita hacer la elección de las características de hardware necesarios para ejecutar este tipo de aplicaciones. Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  4. 4. Entor no De Pr uebas Descripción Para realización de estas pruebas, el sistema BSA se instaló y configuró en cada uno de los servidores web, utilizando una máquina virtual XEN con sistema operativo Debian GNU/Linux, cada servicio fue ejecutado de manera única y sin ninguna otra configuración que afectara la disponibilidad de memoria. Configuración de Software del servidor Sistema Operativo: Debian GNU/Linux Squeeze en un máquina 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 Configuración de Hardware Memoria total del sistema: 256 MB Configuración de red Se asigno a cada uno de los servidores web un puerto y una dirección para ser ejecutados, a continuación de muestra al listado de la configuración de nombres de dominios/puertos utilizados desde la computadora cliente. Dirección 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. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  5. 5. 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 cuál será analizado en la siguiente sección del documento, en cada uno de los escenarios. Los parámetros de medición utilizados son: • Tiempo mínimo de respuesta • Tiempo de respuesta máximo • Tiempo promedio de respuesta • Porcentaje de error. • Nivel de concurrencia. • Consumo de memoria. Servicios requeridos para todos los escenarios: • /services/get/customer_invoice/10148 Obtener información de una factura. • /services/get/vendor_data/10143 Obtener información de un proveedor. • /services/get/customer_data/10221 Obtener información de un cliente. • /services/list/vendors_or_search_by_specific_field Listar proveedores. Servidor Nginx Escenario 1: Parámetros: Número de usuarios conectados: 2 Número 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 mínimo: 0,5 segundos Tiempo de respuesta promedio máximo: 1,7 segundos Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  6. 6. Escenario 2: Parámetros: Número de usuarios conectados: 20 Número 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 mínimo: 3.7 segundos Tiempo de respuesta promedio máximo: 56.2 segundos Escenario 3: Parámetros: Número de usuarios conectados: 40 Número 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 mínimo: 1.4 segundos Tiempo de respuesta promedio máximo: 20.1 segundos Observaciones: Se observo un índice de 87.5% de error al ejecutar el servicio de listar clientes, el cuál es un servicio que mayor tiempo de procesamiento genera. Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  7. 7. Servidor Lighttpd Escenario 1: Parámetros: Número de usuarios conectados: 2 Número 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 mínimo: 0,5 segundos Tiempo de respuesta promedio máximo: 0,9 segundos Escenario 2: Parámetros: Número de usuarios conectados: 20 Número 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 mínimo: 1,9 segundos Tiempo de respuesta promedio máximo: 9.8 segundos Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  8. 8. Escenario 3: Parámetros: Número de usuarios conectados: 40 Número 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 mínimo: 1.0 segundos Tiempo de respuesta promedio máximo: 14.4 segundos Servidor Apache Escenario 1: Parámetros: Número de usuarios conectados: 2 Número 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 mínimo: 0,2 segundos Tiempo de respuesta promedio máximo: 1,5 segundos Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  9. 9. Escenario 2: Parámetros: Número de usuarios conectados: 20 Número 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 mínimo: 0,5 segundos Tiempo de respuesta promedio máximo: 16, segundos Escenario 3: Parámetros: Número de usuarios conectados: 40 Número de peticiones por usuario: 4 Total de peticiones: 160 Resultados: Apache Fallo todas las peticiones. Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39
  10. 10. 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 petición 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 20 Usuarios 40 Usuarios Servicios Nginx Lighttpd Apache Nginx Lighttpd Apache Nginx Lighttpd Apache Obtener factura de cliente 1,6 0,9 1,5 7,5 6,1 error 6,9 7,3 error Consultar proveedor 1,6 0,5 0,9 5,7 6,1 error 8,8 11,6 error Listar proveedores 1,5 0,7 error 7,5 4,8 error 14,5 11,0 error Consultar cliente 0,5 0,7 0,5 35,9 5,1 error 11,1 12,6 error Promedio 1,3 0,7 0,8 14,1 5,5 10,3 10,6 Conclusión El mayor problema que se presentó fue en consumo de memoria, originado por las múltiples o operaciones que realiza la aplicación, se observo un alto porcentaje de inestabilidad al ejecutar BSA en una máquina virtual de 128 MB, por lo que la memoria fue incrementada a 256 MB, basándonos en los parámetros de medición y en los resultados obtenidos se obtuvo que el servidor web con mejor desempeño 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 configuración más optimizada. Ready2Fill Services S.C. Av. Lázaro Cárdenas # 709, Sta. María Ixcotel, 71228. Sta. Lucía del Camino, Oaxaca +(52) 951 176 34 39

×