Uno de nuestros clientes tiene un problema nuevo: la aplicación se detiene. El volcado de subprocesos muestra que todos los subprocesos se cuelgan en la red IO en llamadas JDBC.Conexión JDBC colgando
We/I nunca he visto estos 'red IO' cuelga. Normalmente, una máquina lenta con problemas de DB tiene a) una o dos consultas de larga ejecución ob) algún tipo de bloqueo/interbloqueo. En cualquiera de estos casos, los hilos se "cuelgan" en diferentes métodos. Nunca he visto los más de 30 hilos colgados en la red IO.
A continuación he incluido un extracto del volcado de la hebra. Todos los hilos HTTP cuelgan en la misma llamada java.net.SocketInputStream.read
.
Hablé con su dba y sysadmin. Según ellos, "nada ha cambiado" en el entorno recientemente, lo que causaría este problema.
entorno db
MSSQL 2005 Service Pack 2 de 64 bits Conductor: sqljdbc.jar: 1,0 809 102
Nota: se está ejecutando un controlador JDBC más. AFAIK intentaron actualizar de 1.0 a 1.2, pero tuvo algún otro problema.
otro entorno emite
Están corriendo el servidor de aplicaciones y el servidor db en VMWare VM. No sé cómo esta configuración afecta el rendimiento de la red.
Aparentemente esta es la única aplicación con este problema. No sé nada más sobre su arquitectura de red.
Preguntas * ¿Tiene alguna idea sobre este problema? * si se trata de una red, ¿los siguientes pasos para analizar?
Apéndice A: Extracto de rosca volcado
Todas las conexiones HTTP están colgando en el mismo método:
"TP-Processor31" daemon prio=5 tid=0x04085b78 nid=0x970 runnable [0x0764d000..0x0764fd6c] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at com.microsoft.sqlserver.jdbc.DBComms.receive(Unknown Source) at com.microsoft.sqlserver.jdbc.IOBuffer.sendCommand(Unknown Source) - locked (a com.microsoft.sqlserver.jdbc.DBComms) at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source) at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown Source)
He visto cosas así si la conexión pasa por una tonta entrada NAT – nos