5

me encontré debajo del texto al leer acerca de las propiedades de agrupación de conexiones de base de datos:Tamaño máximo de conjunto de conexiones

La propiedad maximum pool size especifica el número máximo de conexiones disponibles y prestados (en uso) que mantiene una piscina. Si se toma prestada la cantidad máxima de conexiones, no habrá conexiones disponibles hasta que se devuelva una conexión al grupo. Esta propiedad permite que la cantidad de conexiones en la agrupación aumente a medida que aumenta la demanda. Al mismo tiempo, la propiedad garantiza que el grupo no crezca hasta el punto exhausting a system's resources,, lo que en última instancia afecta el rendimiento y la disponibilidad de una aplicación.

Mi pregunta es: Cuando por encima de charla texto sobre 'exhausting system resources' ¿significa degradación del rendimiento de la base de datos? Si la respuesta es sí, ¿por qué no las bases de datos tienen un límite de conexión máximo que puede soportar sin comprometer el rendimiento en lugar de confiar en las aplicaciones para especificar el límite de conexión máximo adecuado? ¿Hay algo en la base de datos que indique la cantidad de conexiones simultáneas que admite (digamos para Oracle/SQL Server?)

Respuesta

6

En general, la preocupación acerca de "agotar los recursos del sistema" se aplica tanto al servidor de aplicaciones como al servidor de bases de datos. Cuantas más conexiones de bases de datos permita, cuantas más sesiones simultáneas se estén ejecutando en los servidores de aplicaciones, cuanta más RAM requiera la VM de los servidores de aplicaciones, más demanda se le asignará a las CPU en los servidores de aplicaciones y servidores de bases de datos, etc. la cola del trabajo atrasado es demasiado grande, puede pasar más tiempo intercambiando procesos dentro y fuera de la CPU y programando tareas que haciendo un trabajo útil. Un tamaño máximo en el grupo de conexiones le permite manejar una avalancha de tráfico o un cuello de botella de rendimiento inesperado ligeramente más elegante al realizar un error de salida rápido en lugar de dejar que los usuarios esperen las respuestas que nunca llegarán.

Las bases de datos, en general, tienen la capacidad de limitar el número de conexiones que admiten. Oracle tiene los parámetros PROCESSES y SESSIONS, y admite múltiples arquitecturas de conexión (servidor dedicado y servidor compartido) para permitirle intercambiar el rendimiento con el consumo de recursos para aumentar el número de conexiones simultáneas que la base de datos puede admitir.

+1

+1 Además, considere la situación donde tiene múltiples servidores de aplicaciones accediendo a la misma base de datos (la cantidad máxima de conexiones en la base de datos debe ser al menos el tamaño máximo de todos los servidores de aplicaciones combinados) o una situación en la que podría ' limite 'un tamaño de conjunto de aplicaciones a propósito para dar más prioridad a otras sesiones de base de datos. –

Cuestiones relacionadas