Hola Angel, Gracias por tu respuesta. Si, los objectos son compartidos por todos los threads, son elementos static/shared de clases. En principio no habíamos configurado el recicle del App Pool, hace ya unos meses lo tenemos configurado para que todas las noches se recicle y eso hizo que se caiga menos veces. La infraestructura es un Win 2008 R2, 64 bits, App Pool en .Net 4 con el Managed Pipeline en Integrated mode.
No es lo que dije originalmente, pero también tuve este tipo de problemas con Recursos embebidos en el assembly. Básicamente son archivos de javascript que cuando son pedidos a través de un HttpHandler se buscan en un cache interno (que termina consultando un Synchronized Hashtable y de vez en cuando, una vez por mes o cada tanto el javascript estaba roto, es decir, me devolvía las primeras 200 lineas y el resto no estaba :) Esto lo solucione poniéndole una marca al final del archivo para saber si lo que tenia en memoria estaba completo o debía ir a buscarlo de nuevo al assembly :s A partir de este caso pienso que hay veces que el proceso llega a un punto donde se "estresa" y limpia su memoria dejando algunas posiciones medio rotas. Se que suena a poco probable, el tema es que sucede cada tanto y no es algo que pueda repetir en un ambiente controlado. En general hago stress test de la webapp y funciona bien. No llego a tener estos problemas. Saludos, Ing. Damián Herrera Director CIVINEXT Tel. / Fax: +54 (11) 3968-0039 [email protected] http://www.civinext.com <http://www.linkedin.com/company/civinext-s.a.> <http://www.facebook.com/groupware><http://www.twitter.com/damianherrera><http://www.youtube.com/user/damianherrera> <http://es.wikipedia.org/wiki/Civinext> El 19 de marzo de 2013 07:43, Angel "Java" Lopez <[email protected]>escribió: > Hola gente!**** > > ** ** > > Hmmm… Damian, no tengo todo el contexto, pero vieron si es algun problema > de concurrencia? Digo, estan ejecutando varios threads cuando tienen alto > trafico? Y esos threads estan accediendo a esos objectos en memoria? Son > compartidos entre los threads?**** > > ** ** > > Por lo que entendió, tenes objetos que VIVEN un tiempo en memoria > (horas?), y son consultados o manejados durante el alto trafico por los > clientes que llegan.**** > > ** ** > > En donde esta corriendo esto? En un IIS, en un servicio, en Azure, en un > web farm? Reciclado de una instancia puede haber … (a la Yoda ;-)**** > > ** ** > > Nos leemos! > > **** > > Angel “Java” Lopez**** > > @ajlopez**** > > ** ** > > *De:* [email protected] [mailto:[email protected]] *En nombre de *Damián > Herrera > *Enviado el:* Monday, March 18, 2013 5:54 PM > *Para:* [email protected] > *Asunto:* [puntonet] Manejo de memoria en ambientes sobrecargados**** > > ** ** > > Buenas,**** > > ** ** > > Espero que anden bien. Hace mucho que no escribo y buscando algo de info. > me pareció que era algo para postear en la lista.**** > > ** ** > > Actualmente tenemos un problema en ambientes de alto > trafico, básicamente manejamos Generic.Dictionary(string,string) y > Xml.XmlDocument. Únicamente en ambientes de alto trafico, nos sucede de vez > en cuando que desaparecen elementos del Dictionary o el XmlDocument > queda vacío.**** > > ** ** > > Sospecho que el XMLDocument queda vacío porque hay momentos en los que no > se utiliza porque hay una capa de cache que hace que se lo consulte poco, > pero la referencia sigue activa dentro de una clase (esta declarado como > private shared). Algo similar ocurre con el Dictionary, pero este se usa > más que el XmlDocument.**** > > ** ** > > La consulta en si misma es, hay alguna forma de "marcar" o especificar que > esas variables no deben ser recolectadas o alguna manera de que me entere > cuando las recolectan? Es algo que estuve buscando y no encontré mucha > info. y no estoy seguro que tenga que ver con el GC.**** > > ** ** > > Bueno, cualquier orientación se agradece.**** > > > **** > > Saludos!**** > > Ing. Damián Herrera > Director > CIVINEXT > Tel. / Fax: +54 (11) 3968-0039 > [email protected] > http://www.civinext.com**** > > <http://www.linkedin.com/company/civinext-s.a.> > <http://www.facebook.com/groupware><http://www.twitter.com/damianherrera><http://www.youtube.com/user/damianherrera> > <http://es.wikipedia.org/wiki/Civinext>**** > > ** ** >
