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>****
>
> ** **
>

Responder a