30 Haziran 2011 Perşembe

XmlDocument - RAM emici vampir

Entegrasyon servisleri gibi sık kullanılan uygulamalarda XmlDocument kullanımı ciddi performans kayıplarına neden olabiliyor.

Örneğin zotrix.xml adında 10Mb büyüklüğünde bir xml dosyamız olsun, basit bir asp.net sayfası oluşturup butonun click event’ine aşağıdaki kodu yazıp arka arkaya 5-10 kez basın.

     XmlDocument x = new XmlDocument();

     x.Load(Server.MapPath("zotrix.xml"));

Bu arada Windows Task Manager’den w3wp’nin kullandığı bellek miktarını izlemeyi unutmayın.

Sonuçlar korkutucu değil mi? GarbageCollector bir süre sonra devreye giriyor ama çok geç olabilir.

Çok kullanıcılı web uygulamalarında durum daha da ciddi.

Çözüm olarak tavsiye edilen ise daha hızlı ve daha az kaynak tüketen XmlTextReader.

 

Hiç yorum yok:

Yorum Gönder