27/05/2008, 01:29
|
| | Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 3 meses Puntos: 51 | |
Respuesta: pool de conexiones Exactamente. Hay que tener en cuenta ademas que en este caso, hacer un close() de la conexion no es cerrar la conexion, si no devolverla al pool*. Lo importante del pool es que mantiene abiertas las conexiones por que lo que nos ahorramos el tiempo de conexion a la BDD, usualmente 1~2 segundos minimo, y que por otro lado, al limitar las conexiones que se crean simultaneamente, estamos protegiendo la BDD frente a picos de carga.
Si abrimos demasiadas conexiones a la vez contra la BDD o las cerramos/abrimos con demasiada frecuencia, la BDD "sufre" y el rendimiento global cae.
Por eso es tan importante usar un pool de conexiones en aplicaciones web, donde la concurrencia es la norma y los picos de carga pueden ocurrir en cualquier momento. Las aplicaciones de escritorio que se conectan directamente a una BDD no tienen ese problema, aunque si tienen que hacer varias tareas a la vez, tambien pueden beneficiarse de los pool.
S!
*: No es así en todos los pools pero si es muy habitual y es así en la especificacion del java.sql.DataSource que se usa en servidores de aplicaciones Java. Personalmente no me gusta que usen el mismo nombre y aislen totalmente la conexion, el pool que tengo hecho yo no funciona así, pero es como esta hecho DataSource.
__________________ Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana. |