Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
titleMemory - Performans İyileştirmesi

CacheBaseXPOProvider

CacheBaseXPOProvider yapısı kullanıcı bazlı cache kullanımı yaptığı için kapatılması halinde ciddi hız sorunları yaşanmaktadır. Fakat ilgili XAF cache yapısının limitlenmesi ile ilgili eklemeler yapıldı.  Aşağıdaki gibi bir tanım yapıldığında toplam kullanıcı bazlı XPO yapısının cache kullanımı limitlemektedir.  Eklenecek değer MB cinsindendir. 1024 MB ya da 2048 MB ile limitlenip gözlemler yapılması gerekir.

Tip
titleBilgilendirme

Webconfig üzerinde değer yazılmadığında sınır yok.  X86 için 1024, x64 için 3072 değeri sınırlandırmak için girilebilir.

Info
titleCacheBaseXPOProvider

<add key="CacheNodeMaxTotalMemory" value="1024" /> 

Genel bir limit yerine kullanıcı bazlı limit tanımlanabilmesi için aşağıdaki tanımın girilmesi gerekmektedir. Öndeğer olarak kapalı bir özelliktir. Çok fazla kullanıcının olduğu sistemlerde memory kullanımını limitlemek için kullanıcı bazlı MB cinsinden değer girilebilir. 64 değeri girildiğinde min 32 MB, max 64 MB olacak şekilde XPO cache kullanımınına izin vermektedir. XPO için ayrılan cache kullanımı 10 kullanıcı için max 64*10 = 640 MB, 100 kullanıcı için 64*100 =6400 MB olacaktır.


Info
titleCacheNodeMaxMemoryPerUser

<add key="CacheNodeMaxMemoryPerUser" value="64" />

ModelNode.GetValuesCache

ModelNode.GetValuesCache yapısı daha önceden kullanıcı bazlı tutulmaktaydı. Şu an memory bölgesine taşındı. Ciddi bir kazanç elde edildi.  Fakat buradaki memory maliyeti gözlemlenemiyor. İlgili alan için cache desteği parametreye bağlandı.

Aşağıdaki parametre 0 yapılarak modulecache yapısı kapatılır ve ek memory kazancı sağlanılır Fakat performans olarak düşüş sağlamaktadır.

Info
titleModelNode.GetValuesCache

<add key="ModuleCacheAllow" value="1" />

GarbageCollector

Uygulama ön görülmeyen kaçaklar için  nesnelerin sağlıklı  bir şekilde 10 dakika aralıklarla Garbage Collector çalıştırılması ile ilgili ek parametrik düzenleme yapıldı. 

Aşağıdaki parametre açıldığında 10 dakika aralıklarla NGarbageCollecter.Collect (true) işlemi gerçekleştirmektedir. Default olarak bu özellik aktif edildi (10 dakika). Kapatmak için 0 girilmelidir. Çalışması için girilebilir aralık ise > [ 5 .. 60 ]


Info
titleGarbage Collector

<add key="GCRunningTime" value="10" />

CacheStatisticsLogger

Sistem üzerinde taşınan Cache yapılarının izlenmesi için aşağıdaki parametre 1 olarak atanır. Varsayılan değer 0 dır. 

Aşağıdaki nesnelerin item sayılarını eventviewer üzerinde warning olarak göstermektedir.

  • XafModuleCache Modul sayısı
  • PrivateMemorySize64
  • DataLookupCacheHelper
  • DataLookupDefinationCacheManager
  • ExtraFieldDefinationCacheManager
  • ZDDefaultValueCacheManager
  • ApplicationCache

Info
titleCacheStatisticsLogger

<add key="CacheStatisticsLogger" value="1" />

Data LookUp Cache Parametreleri

Webconfig üzerimde üzerinde DataLookupCacheRefreshMinutes özelliği ile data lookup alanları verilerinin cachelenme süresini belirlemektedir. Varsayılan değeri 60 (dakika) dır. 

DataLookupCacheGarbageDataCleanMinutes özelliği ise süresi dolan veriler belli aralıklarla kontrol edilip düzenler ve Cache bölgesinden silinirler. Varsayılan değer 60 (dakika) dır. 0 > özelliği kapatır. 

Info
titleData LookUp Cache

<add key="DataLookupCacheRefreshMinutes" value="60" />
<add key="DataLookupCacheGarbageDataCleanMinutes" value="60" />

Data Performans Log Parametreleri

Webconfig üzerinde PerformanceLog, Trace Level ve Login Out Message' ları görüntülemek için <appSettings> </appSettings>içerisine eklenir. Event log üzerinden performans log'ları modül bazında gösterimi sağlanır.

Info
titleData Performance

<add key="TraceLevel" value="Warn" />
<add key="PerformanceLog" value="1" />
<add key="LoginOutMessages" value="0" />

Expand
titlePerformans Log Çıktısı

Image Added