+1 a la sobredosis de conexiones. No hace ni 20 días que tuvimos un caso similar en fotofriki: La super aplicación web no cerraba conexiones y se encargó de tumbar un maquinón con un Oracle tuneado más que competentemente a base de conexiones sin cerrar. El 6 de mayo de 2014, 0:46, Wardog <wardogyelmundo@xxxxxxxxx> escribió: > Voto por lo mismo. Si no cierras las conexiones a la base de datos aquello > empieza a devorarse a sí mismo a poco que le des candela. Ojo también al > ámbito de datareaders y qué se deja ahí metido. > > > El 5 de mayo de 2014, 23:53, f5inet <f5inet@xxxxxxxxx> escribió: > > suena a que las conexiones a la BBDD no se cierran explicitamente en el >> webservice y se queda con mogollon de conexiones a la BBDD abiertas. hasta >> que no se reinicia el runtime o se fuerza un GC no se liberan >> 'implicitamente' las conexiones. >> >> de todas maneras, creo que una llamada a System.GC.Collect() deberia ser >> suficiente. >> >> te recomendaria hacer un LOG en cada webservice, que logueara el >> resultado de GC.GetTotalMemory(false), y ver si a partir de cierta memoria >> ocupada empieza a quedarse tonto el webservice. si es asi, con hacer que se >> ejecute el GC.Collect() si lo que devuelva GC.GetTotalMemory(false) es mas >> del 50% de cuando se queda tonto, deberia ser suficiente. >> >> tambien es posible que necesites llamar a GC.WaitForPendingFinalizers(), >> para asegurarte que los objetos 'tontos' son finalizados correctamente >> antes de seguir ejecutando codigo y metiendo mas basura al Heap. >> >> >> El 5 de mayo de 2014, 21:43, Carlos Melgarejo >> <zerocool.cmg@xxxxxxxxx>escribió: >> >> Buenas noches BOFHmanos, >>> >>> Tengo un problema con el GC de .NET y me gustaría saber si alguno lo ha >>> tenido y como lo puedo solucionar. >>> >>> Expongo el pifostio: >>> >>> Tengo una aplicación, la cual saca chicha de una bbdd >>> (irremediablemente) SQLServer. En un principio estaba App -> BBDD, todo >>> funcionando a la perfección y la hostia de rápido. >>> >>> Llego el momento en el que el cliente pidió un WebService, y debía ser >>> en .NET C#. >>> >>> Aquí viene el problema, el WS, tras 3 o 4 días, se queda atontado y >>> bloquea todo el sistema de datos, teniendo que reiniciar el site de IIS. >>> >>> En uno de los bloqueos, dijimos a los técnicos (por llamarlos de alguna >>> manera) que no reiniciaran, y lanzamos un forzado de limpieza de GC, dando >>> en la clave del bloqueo. Al limpiarse, volvió a la vida la criaturita. >>> >>> Entonces, sabéis de alguna forma de que no pase esto con el Recolector? >>> >>> La última opción es poner un forzado de limpieza cada noche, o incluso >>> (mucho mas hardcore) un forzado de limpieza, al final de cada petición. >>> >>> Muchas gracias por las respuestas que podáis dar. >>> >>> Un saludo y a cuidarse. >>> >> >> >