Pregunta

Tenemos una piscina de ODBC que se ejecuta en un servidor NonStop. La piscina está conectado a SQL / MX.

Esta piscina es utilizado por unas pocas aplicaciones Java externas, cada una de las cuales tiene una piscina JDBC conectado a la piscina ODBC (por ejemplo 14 conexiones por aplicación).

Con el tiempo (después de unos recicla aplicación) vemos un desequilibrio entre las CPU - algunos tienen 8 ODBC procesos en ejecución, algunos sólo 5. Esto conduce a un desequilibrio demasiado tiempo de CPU

.

Hasta aquí hemos supuesto que una CPU se asigna al proceso de ODBC de manera round-robin. Eso sería mantener el número de ODBC procesa más o menos equitativamente distribuida. No es el caso, sin embargo.

¿Hay alguna información sobre la forma de la piscina ODBC decidió qué CPU para elegir para cada proceso asignado de nuevo? ¿Se ve en la carga de la CPU? ¿Memoria disponible? Algo más?

Por desgracia, incluso el propio pueblo de HP (disponibles para nosotros, que es) podría no responder a estas preguntas con certeza. : - (

¿Fue útil?

Solución

Y, de hecho, las conexiones se asignan a las CPU de manera round-robin. Pero si uno de los consumidores (con su propia piscina) se reinicia por cualquier razón, las conexiones se dará a conocer en la CPU donde fueron asignados (obviamente), pero los nuevos serán asignados en la siguiente CPU de acuerdo con el algoritmo de round-robin . Así, algunos CPUs será menos ocupado, y un poco más. Por lo tanto desequilibrio.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top