icono_twiter icono Facebook
Carlos García Pérez

Técnico especialista en informática de empresa (CEU).

Ingeniero Técnico en Informática de Sistemas (UPM)

Creador de MobileTest, Haaala!, Girillo, toi18n.

Charla sobre desarrollo de aplicaciones en Android.

Ver todos los tutoriales del autor

Fecha de publicación del tutorial: 2008-12-25

Tutorial visitado 13.470 veces Descargar en PDF
Análisis de rendimiento al usar un Pool de conexiones

Análisis de rendimiento al usar un Pool de conexiones

Índice de contenido

Introducción

Toda aplicación debería cubrir de forma satisfactoria las necesidades para las que fueron creadas, siendo además muy deseable que las tareas las realizasen usando de forma satisfactoria los recursos disponibles y proporcionase además un tiempo de respuesta adecuado al cliente.

En este tutorial vamos a analizar las mejoras en rendimiento que nos ofrece el uso de Pool de conexiones a base de datos. Para ello, realizaremos una sencilla aplicación Web (desplegada sobre Tomcat 6) que simplemente para cada petición se conecte a una base de datos bien a través de un Pool de conexión o sin él, y analizaremos los resultados obtenidos al ejecutar un test de rendimiento que estrese a la aplicación simulando peticiones concurrentes y constantes a la misma.

Caso de estudio: Aplicación Web

web.xml de la aplicación web

context.xml Definición del Pool de conexiones que usará la aplicación.

Definición del test de rendimiento

A continuación creamos un test usando JMeter, puede descargar el test haciendo clic aquí.

10 clientes realizarán peticiones HTTP concurrentemente durante 5 segundos:

Petición HTTP que realizarán los clientes:

Donde:

  • WebAppPool es el contexto dentro del servidor de la aplicación web.
  • Si el parámetro pool vale 1, el servlet usará el pool de conexiones.
  • Si el parámetro pool vale 0, el servlet no usará el pool de conexiones.

Resultados obtenidos al ejecutar el test de rendimiento

Resultados sin pool de conexiones

Resultados con pool de conexiones

Análisis de los resultados obtenidos

En vista a los informes que nos proporciona JMeter podemos decir entre otras cosas:

  1. Para el mismo intervalo de tiempo, el servlet, al usar del pool ha sido capaz de atender 30727 peticiones mientras que sin el pool apenas fue capaz de atender 630 peticiones.
  2. En media, el servlet, al usar el pool a logrado atender las peticiones en 1 milisegundo, mientras que sin el uso del pool este tiempo se incrementa a 79 milisegundos.
  3. El rendimiento del servlet, al usar el pool ha sido de 6138 peticiones por segundo, mientras que sin el Pool decrece drásticamente a 124 peticiones por segundo.

En base a estos resultados, no cabe duda de la mejora que aporta el uso de los Pool de conexiones en nuestras aplicaciones.

Carlos García Pérez. Creador de MobileTest, un complemento educativo para los profesores y sus alumnos.
cgpcosmad@gmail.com

A continuación puedes evaluarlo:

Regístrate para evaluarlo

Por favor, vota +1 o compártelo si te pareció interesante

Share |
Anímate y coméntanos lo que pienses sobre este TUTORIAL:

Fecha publicación: 2011-05-28-06:05:49

Autor: wilfo

Se podrá realizar pool de conexiones en php con mysql?o alguna idea de mezclar tomcat con apache para hacer pool de conexiones?

Fecha publicación: 2009-05-12-01:09:17

Autor:

[LUCHO] hey ta muy bueno el tutorial, pero cómo configuro la aplicacion web WebAppPool, es decir donde coloco el archivo servlet (applicacion web) muchas gracias