Gereksinimler

Logo CRM bazı memory tüketimi minimuma düşürmek için performans çalışması sağlanmıştır. Uygulamanın mutlaka 64 bit olarak kurulması ve IIS üzerinden ayarlanması gerekmektedir.Uygulama sunucu üzerinde Sadece CRM için boş 8 gb memory ayrılması gerekmektedir. Uygulama sunucusu üzerinde yetersiz yer kaldığında işletim sistemi garbagecollector' ları tetikleyip, genel uygulamalar üzerinde temizliğe zorlar. Temizlenmemesi gereken veriler dahi silinir hale geleceğinden uygulama için beklenmedik hata, problemler sonucu uygulama sonlanır.  Genel olarak sunucu üzerindeki diğer uygulamalar içinde benzer durumlar yaşanacaktır. Sunucu üzerindeki boş memory kritik rol oynamaktadır. 

 Memory Durum

Data Performans Log Parametreleri

Logo CRM Web Arayüz;

LogoCRM'in kurulu olduğu dizin içerisinde Webconfig dosyası açılır.  <appSettings> </appSettings>içerisine PerformanceLog, Trace Level ve Login Out Message bilgisi eklenir. Event log üzerinden performans log'ları modül bazında gösterimi sağlanır.

Data Performance

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

 Performans Log Çıktısı

Logo CRM Mobil Uygulama;

Mobil uygulama izleme süresi (traceduration) ve oturum kapatma mesajları (loginoutmessages) almak için Logo CRM'in kurulu olduğu dizin tıklanır ve api dosyası açılır. Api dosyası içerisinde web.config xml dosyası açılır ve <appSettings> </appSettings> içerisine eklenir.

Logo CRM Mobil Log Oluşumu

<appSettings>
<add key="traceduration" value="1" />
<add key="loginoutmessages" value="1" />
</appSettings>

Ekleme işleminden sonra mobil uygulama üzerinden çıkış-giriş yapıldığında veya menüler arasında gezinme sonucunda GET-POST süre bilgilerini günlük detay log oluşturularak api dizini altına ekler.

 Günlük Detay Log

Performans Sorununuz Olduğu Durumlarda

Logo CRM den performans sorunu yaşıyorsanız. Öncelikle yukarıda belirtilen Logo CRM Web veya Logo CRM Mobil uygulama web.config dosyası üzerinden appSettings blogu arasında log detay bilgilerini ekleyiniz ve daha sonra IIS 'inizi kapatıp açınız. Logo CRM web veya mobil uygulamasına giriş ve menüler arasında gezinme işleminden sonra performans loglarınız oluşmaya başlayacaktır. Bu işlemler sonucunda log detaylarınızı Logo CRM yetkililere gönderim sağlayabilirsiniz.

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.

Bilgilendirme

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.

CacheBaseXPOProvider

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


CacheNodeMaxMemoryPerUser

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

ModelNode.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 ]


Garbage 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

CacheStatisticsLogger

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

Data LookUp Cache Parametreleri

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

Data LookUp Cache

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