la visión de un ingeniero de campo
cuando tu trabajo es ver por qué las aplicaciones no funcionan
Browse by Tags
All Tags
»
.net
(RSS)
Casos
Memoria y GC
Tips
Traza de asp.net y el consumo de memoria
Tuesday, December 18, 2007 2:24 AM
El siguiente caso a presentar está relacionado con el alto consumo de memoria de una aplicación. Como el título lo dice, está relacionado con el uso de la traza de asp.net (trace en web.config .) El escenario era similar a lo descrito ahora. La aplicación analizada empezaba a consumir memoria y aunque tenía momentos donde la liberaba, la impresión general era...
Read More...
Contadores de rendimiento de aplicaciones de 32 bits en sistemas de 64 bits
Tuesday, November 13, 2007 11:03 PM
Durante el análisis de Microsoft.VisualBasic.dll tuve problemas para poder ver los contadores de rendimiento de la aplicación desarrollada con Visual Studio 2003 y que se ejecutaba sobre el Framework 1.1, en un sistema XP 64 bits. En ese momento inferí que podría deberse a que la aplicación estaba compilada para 32 bits y se estaba ejecutando en un sistema de...
Read More...
Microsoft.VisualBasic.dll, ¿Eres tan malo como dicen?
Thursday, September 27, 2007 2:16 AM
Algunos años atrás, todo lo relacionado con Visual Basic (VB) 6.0 tendía a ser menospreciado o subvalorado. Los desarrolladores que utilizábamos VB 6.0 no éramos los primeros en levantar la mano para decir orgullosos que lo utilizábamos, como sí lo hacían los que usaban C o C++. Una pequeña fracción de esa baja estima se mantuvo aún cuando apareció .net. Era...
Read More...
Entre las excepciones y la flojera de los desarrolladores
Friday, July 20, 2007 5:07 AM
Una de las recomendaciones importantes en el desarrollo de código es la "no utilización de excepciones para evitar realizar validaciones." ¿A qué me refiero? A usar try/catch para no tener que escribir código que valide algo. Total, si se cae, en el catch retorno que es falso, si no se cayó, entonces retorno verdadero. Así no es necesario codificar...
Read More...
¿Por qué no debo compilar en modo debug?, Parte III
Thursday, July 12, 2007 5:38 AM
Como lo mencioné al terminar el segundo post sobre por qué no debo habilitar debug=true en web.config , la tercera entrega vendría relacionada con optimizaciones a nivel de código IL. Si no leíste los posts anteriores, te recomiendo hacerlos, aunque este no es la continuación de ninguno de los dos. Las direcciones son: http://msmvps.com/blogs/pmackay/archive...
Read More...
Concatenación ultra rápida en Visual Basic 6.0 (ejercicio mental)
Sunday, June 10, 2007 4:05 AM
Después de una agradable tarde de relajo en el hotel Hilton de Sao Paulo, he decidido "jugar" un rato en el computador y echar a andar el cerebro. Aunque el desarrollo utilizado Visual Basic 6.0 es cada día menos, decidí inventar un algoritmo (o función) para concatenar string que fuese más rápida que las que he visto en internet. Honestamente no he...
Read More...
Configurando threads en machine.config
Saturday, June 09, 2007 5:28 AM
La configuración de threads y conexiones de asp.net es un tópico oscuro. De algunos libros o KBs se puede obtener información, pero a mi entender , ninguna de ellas explica claramente cómo deben configurarse las opciones disponibles. Las opciones que hago mención son las que se encuentran en el archivo machine.config , dentro de las siguientes secciones: system...
Read More...
¿Por qué debo definir "debug=false" en web.config?, Parte II
Wednesday, May 23, 2007 5:53 AM
En la primera parte de este artículo revisamos parte del impacto de definir debug ="true" en nuestro archivo de configuración web.config . Dentro de lo estudiado, abarcamos la revisión de la carpeta temporal de asp.net y cómo se generan los archivos de código de las páginas y controles, para finalizar con la generación de los ensamblados que resultan...
Read More...
numRecompilesBeforeAppRestart sí funciona en Asp.Net 1.1
Sunday, May 13, 2007 11:15 PM
Mientras trabajaba en la segunda parte del artículo ¿Por qué debo definir "debug=false" en web.config?, Parte I , leyendo la documentación de MSDN en el link de más abajo, me encuentro con lo siguiente: Link: http://msdn2.microsoft.com/en-us/library/system.web.configuration.compilationsection.numrecompilesbeforeapprestart(VS.80).aspx El extracto del...
Read More...
¿Por qué debo definir "debug=false" en web.config?, Parte I
Tuesday, May 08, 2007 2:54 AM
Uno de los atributos menos comprendidos del archivo web.config es el relacionado con la compilación ( compilation ). Cuando yo desarrollaba y estaba encargado de manejar sitios en producción, siempre me preocupaba de que el atributo estuviese en false en producción, ya que había leído que así debía ser y no me lo había cuestionado mayormente, fundamentado en...
Read More...
Adiestramiento del Garbage Collector (GC) y contadores de rendimiento
Monday, April 30, 2007 1:36 AM
Hace un tiempo posteé acerca del uso de liberación de memoria en el framework , post que podrás encontrar aquí , en donde mencionaba que el GC se auto adiestraba para funcionar eficientemente, y que por eso no es recomendable forzarlo a recolectar la memoria, sino que dejarlo a él que lo haga. Hoy hablaremos de cómo se auto adiestra el GC para realizar recolecciones...
Read More...
La contradicción de las aplicaciones ultra parametrizables y customizables
Saturday, April 21, 2007 11:05 PM
Estas últimas semanas han estado un poco aburridas. No se han presentado problemas de aplicaciones pero seguramente se presentarán... tarde o temprano. Sin embargo, a falta de problemas que se presentan, nos encargamos de buscarlos, o más bien dicho, de forzarlos. Una de las últimas actividades realizadas corresponde a la revisión de una aplicación que será liberada...
Read More...
Liberación de memoria en código manejado (¿Dispose, Finalize, Object = Nothing, GC.Collect?)
Wednesday, March 28, 2007 5:54 AM
Para quienes venimos del desarrollo utilizando Visual Basic 6.0, una de las primeras cosas que nos enseñan al empezar a utilizar código manejado (framework), es que ya no es necesario liberar la memoria porque “ .net lo hace por ti ”. Esta última parte entre comillas, además de ser incorrecta en su definición, es muy engañosa/confusa para quién es nuevo utilizando...
Read More...
Dispose en SPWeb, SPSite y SPListItemCollection, desarrollando Web Parts para SharePoint
Sunday, March 11, 2007 9:26 PM
Después de una extenuante semana de viaje viendo un caso fuera de Chile, el cual me obligó a estar offline casi todos los días, me doy un tiempo para escribir y dar a conocer los usuales problemas con que uno se enfrenta cuando analiza web parts que corren sobre SharePoint*. Hasta hoy, he visto web parts desarrolladas que normalmente tienen pérdidas de memoria...
Read More...
Concatenación de strings y como “matar” un servidor
Tuesday, February 27, 2007 12:41 AM
Uno de los problemas que usualmente uno enfrenta es el alto uso de CPU de un servidor y la “poca” capacidad de procesamiento de éste. La forma tradicional de analizar estos problemas de alto uso de CPU es tomar dumps de memoria mientras la CPU esta con alto uso y ver que está ejecutando cada thread en el momento de la “foto”. Para el caso que revisé hace un tiempo...
Read More...
Minimizar el impacto de subidas a producción (waitChangeNotification, maxWaitChangeNotification)
Tuesday, February 13, 2007 1:18 AM
A pesar de que no es recomendado, muchas veces nos hemos visto forzados a subir cambios a producción “en caliente.” Estos cambios en caliente generalmente se deben por cambios en machine.config , web.config o el copiado de nuevos assemblies a la carpeta bin , y estos cambios obligan a que se reinicie el dominio de la aplicación asp.net. Como dominio de aplicación...
Read More...
Variables de sesión y costos escondidos
Wednesday, February 07, 2007 3:49 AM
Hace algunas semanas estuve de visita en un cliente, en donde me encontré con una aplicación que cada cierto tiempo, experimentaba excepciones de escasez de memoria (Out Of Memory). Como vimos en el post sobre la analogía entre la memoria de un servidor y un restaurant, http://msmvps.com/blogs/pmackay/archive/2007/02/02/netadmin.aspx , una de las causas por las...
Read More...
Administración de la memoria en Windows y .NET
Friday, February 02, 2007 1:22 AM
Quienes hemos desarrollado aplicaciones o hemos estado a cargo de la mantención de un sitio web, en alguna oportunidad nos topamos o seguramente lo haremos en el futuro, con una excepción del tipo "Out Of Memory Exception" o "OOM Exception". ¿Por qué ocurren los Out Of Memory Exceptions? Quien haya visto esto, se preguntará, ¿Cómo es posible...
Read More...
Search
Go
This Blog
Home
Contact
About
Tags
.net
Casos
Charlas
Memoria y GC
Personales
Seguridad
SQL Server
Tips
Windows y Microsoft
Community
Home
Blogs
Media
Groups
Archives
March 2008 (1)
January 2008 (2)
December 2007 (3)
November 2007 (2)
October 2007 (4)
September 2007 (3)
August 2007 (1)
July 2007 (3)
June 2007 (3)
May 2007 (4)
April 2007 (2)
March 2007 (6)
February 2007 (6)
February 2006 (2)
October 2005 (1)
February 2005 (1)
January 2005 (1)
December 2004 (2)
November 2004 (4)
October 2004 (2)
September 2004 (3)
August 2004 (3)
Syndication
RSS for Posts
Email Notifications
Go
News
Mis dos centavos.
My tree at Carbon grove
Sitios
SQL Server Performance
ZonaDiegum
Cafeína
Liarjo of Locksley
Libros Imperdibles
Debugging .Net Applications 2.0
Programming .NET Components
CLR via C#
Windows Internals