After performing our stress testing on our ASP.NET application, access to internal web services, our mid-level server (where we host ASMX.NET 3.5 web services) showed about 1 GB of memory consumption.
When viewing a memory dump from a mid-tier server, I found more than 1000 Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer objects referenced by the Web services runtime itself.
Is this related to how our user objects become serialized / deserialized at the web services level? Can anyone shed some light on this?
When i did! gcroot on some of these 1000 objects, I got the following trace: (Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeFileWatcher) → 1c4bb450 (System.Threading.Thread) → 18236aa0 (System.Runtime.Remoting.Contexts. → 18236914 (System.AppDomain) → 10409dc4 (System.ResolveEventHandler) → 10409494 (System.Web.Compilation.BuildManager) → 10409f30 (System.Web.Compilation.MemoryBuildResultCache) → 103d115c (System.Webdcleaching System.Object []) → 103d2034 (System.Web.Caching.CacheSingle) → 103d2080 (System.Collections.Hashtable) → 1c24b97c (System.Collections.Hashtable + bucket []) → 1c24b934 (System.Web.Caching.CacheEntry) → 18363994 (System.Web.Services.Protocols.SoapServerType) → 183639c4 (System.Collections.Hashtable) → 1c24aa5c (System.Collections.Hashtable + bucket []) → 1c24a458 (System.Web.Services.Protocols.SoapServerMethod) → 1c248ae4 (Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer26)
(Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeFileWatcher) → 1c5ac4b0 (System.Threading.Thread) → 1c52b5f0 (System.Runtime.Remoting.Contexts.Context) → 1c52b464 (System.AppDomain) → 18823880 (System.ResolveEventHandler) → 18822f50 (System.Web.Compilation.BuildManager) → 188239e0 (System.Web.Compilation.MemoryBuildResultCache) → 144631fc (System.Web.Caching.CacheMultiple) → 14463214 (System.Object []) → 14465088 (System.Web.Caching.CacheSingle) → 144650d4 (System.Collections.Hashtable) → 1446510c (System.Collections.Hashtable + []) → 1c5a580c (System.Web.Caching.CacheEntry) → 109e6e34 (System.Web.Services.Protocols.SoapServerType) → 109e6e64 (System.Collections.Hashtable) → 1c5a4fcc (System.Collections.Hashtable + []) → 1c5a4a54 (System.Web.Services.Protocols.SoapServerMethod) → 1c5a44f4 (Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer28)
(Microsoft.Practices.EnterpriseLibrary.Common.Configuration.Storage.ConfigurationChangeFileWatcher) → 108b38f0 (System.Threading.Thread) → 1c1155ec (System.Runtime.Remoting.Contexts.Context) → 1c115460 (System.AppDomain) → 1030d348 (System.ResolveEventHandler) → 1030ca18 (System.Web.Compilation.BuildManager) → 1030d4a0 (System.Web.Compilation.MemoryBuildResultCache) → 102d7ae4 (System.Web.Caching.CacheMultiple) → 102d7afc (System.Object []) → 102d7b1c (System.Web.Caching.CacheSingle) → 102d7b68 (System.Collections.Hashtable) → 102d7bac (System.Collections.Hashtable + []) → 181ee124 (System.Web.Caching.CacheEntry) → 10350eac (System.Web.Services.Protocols.SoapServerType) → 10350edc (System.Collections.Hashtable) → 181ed260 (System.Collections.Hashtable + []) → 181ed148 (System.Web.Services.Protocols.SoapServerMethod) → 181eb708 (Microsoft.Xml.Serialization.GeneratedAssembly.ArrayOfObjectSerializer61)
BK