Anasayfa » Forum

Uygulama performans...
 
Bildirimler

Uygulama performans önerileriniz  

  RSS
Sinem Erkan
(@sinemerkan)
Üye

arkadaşlar merhaba ;

lokal de çalışan veri tabanından kayıtları gridde listeleyip , listelerken yeni statüleri varsa bunları kontrol ederek koşullu renklendirme , font biçimlendirme yapan dataset üzerinde çalışan ufak bir uygulamamız var ,bazen butona bastıgımızda anlamsız bir bekleme yapan ve bazende 'Yanıt Vermiyor'  hatasına düşen durumlar var , önerilerinizi bekliyorum .

Yazılım .NET 4.5 ve üzeri çalışan VS 2013 de kodlanmış , devex IDE si kullanan ve .DLL ve .EXE koruması olan yapıdadır .

Alıntı
Gönderildi : 02/03/2017 19:18
Erdem SELÇUK
(@eravse)
Saygın Üye Forum Yöneticisi

[quote user="Sinem Erkan"]

arkadaşlar merhaba ;

lokal de çalışan veri tabanından kayıtları gridde listeleyip , listelerken yeni statüleri varsa bunları kontrol ederek koşullu renklendirme , font biçimlendirme yapan dataset üzerinde çalışan ufak bir uygulamamız var ,bazen butona bastıgımızda anlamsız bir bekleme yapan ve bazende 'Yanıt Vermiyor'  hatasına düşen durumlar var , önerilerinizi bekliyorum .

Yazılım .NET 4.5 ve üzeri çalışan VS 2013 de kodlanmış , devex IDE si kullanan ve .DLL ve .EXE koruması olan yapıdadır .

[/quote]

 

1 - Real time bir durum yok ise datayı cache e alabilirsin, Elastic search yada nCache gibi sistemler ile db baglantısını aradan cıkarıp dırek olarak index ve cache yapısı olan bir bigdata durumuna da gecebılırsın ( bu case data boyutu buyukse )

 

2 - Data boyutu sorunu yok ıse veri cekme işlemlerinde asyn olarak methodları revıze edebılırsın ılk olarak grıdde gosdterdıgın kadarını take(20) yada Select Top 20 gıbı cekıp daha sonra arttırarak arkada sayfalama yada scrooll da cektırmeye devam edebılırsın.

3 - Genelde windows form uygulamalarında ekranda bır ıslem yaptırdıgınızda sızın gıbı renklendırme vs gıbı multı thread ıslemler kullanmak mantıklı olacaktır ve GUI cakılmalarının onune gececektır .

 

saygılarımla

 

CevapAlıntı
Gönderildi : 19/03/2017 02:17
Volkan Alkılıç
(@volkanalkilic)
Üye

Performans problemleri genelde veri tabanı kaynaklıdır, ancak doğru tespit için bir profiler kullanmanız en doğru yöntem olacaktır.

Aşağıda popüler birkaç profiler linki paylaşıyorum. Deneme sürümü olarak kullanabilirsiniz;

http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

http://www.jetbrains.com/profiler/

https://smartbear.com/product/aqtime-pro/overview/

 

Ayrıca performans optimizasyonu üzerine oldukça faydalı bilgiler bulabileceğiniz şu makalelerde faydalı olabilir;

https://www.cozumpark.com/blogs/yazlim/archive/2017/01/08/yazilim-gelistiriciler-icin-sql-performans-arttirma-onerileri.aspx

https://www.cozumpark.com/blogs/yazlim/archive/2016/12/25/c-performans-optimizasyonu-bolum-1-donguler.aspx

CevapAlıntı
Gönderildi : 08/04/2017 20:32
Enis CIFTCI
(@EnisCIFTCI)
Üye

Merhaba,

veri tabanı olarak Ms Sql kullanıyorsanız, Notification servisini yeni veya değişen veriler için kullanabilirsiniz. Yani uygulamanıza yeni bir veri eklenmesi veya verinin değişmesi halinde otomatik olarak sadece eklenen/değişen veriyi GUI tarafına yazarsınız veya iletişim kurarsınız. Böylelikle her seferinde verilerin tamamını veri tabanından çekmek zorunda kalmazsınız. GUI tarafında ise DataView sınıfını kullanarak biraz daha performans kazanabilrsiniz. Ayrıca DataView sınıfı üzerinde Sql sorgulama tarzında verileri filtreleyebilirsiniz. Tabii ki optimizasyonu göz önünde bulundurarak yapılan sorgulamalardan bahsediyorum.

GUI, Wpf mi yoksa Form projesi mi bilmiyorum ancak, Wpf ise ResourceDictionary veya Xaml kodları altında kullandığınız elementin resource alt elementini kullanarakda faydasını görürsünüz.

Hatanın sebebi olarak "Yanıt vermiyor" bir timeout mu yoksa herhangi başka bir sebepten mi oluşuyor ? Arka plandaki hata sebebini/içeriğini veya hata kodunu paylaşırsanız..

Diğer bir yandan TPL (Task Parallel Library) konseptine göz atmanızı tavsiye ediyorum. Eğer yüklü veri tabanı işlemleri, dosya yazma/okuma yapıyorsanız performans konusunda size önemli ölçüde destek olacaktır. Verilerinizin boyutuna göre ölçüm ve test yaparak kullanmanızı tavsiye ediyorum, çünkü düşük veri boyutlarındaki veya işlemlerindeki kullanımında performans kaybı yaşayabilirsiniz.

Saygılarımla

CevapAlıntı
Gönderildi : 13/04/2017 01:51
Paylaş: