Bilmek istediğin her şeye ulaş

Asp.Net 'te oluşturulan ve MsSql veritabanı kullanan bir sayfanın performans testlerini nasıl gerçekleştirebilirim? Hangi kriterleri göz önüne almalıyım ve hangi araçları kullanmalıyım?

veritabanı bağlantısı ve verilerin gelme süresi, aspx sayfasının açılma süresi, javascriptlerin yüklenmesi ve fonksiyonların cevap alma süreleri... vb.Düzenle
Tüm bunları Visual Studio ile yapabilirsiniz. Özellikle genel olarak performans için Yük Testi (Load Test) yapmanızı öneririm. Bu konuyu özellikle araştırmanızı öneririm: msdn.microsoft.com/en-us/library/ms1825...

Bunun dışında özellikle SQL konusunda bir optimizasyon yapacaksanız; genel kanı şu şekildedir. Yapılan bir veri tabanı sorgusu maksimum 200 ms zaman almalıdır. Bunun üzerinde zaman alan sorgular optimize edilmeli. Bu elbette 800 ms süren bir sorguyu parçalara ayırmaya çalışarak da olabilir, mevcut sorgunun hangi aşamalarda zaman kaybettiğini gözlemlemekle de olur. SQL sorgusunun hangi aşamalarda ne yaptığını görebilmek için en basit yöntem SQL Execution Plan Mobitoring yapmaktır veya SQL Profiler ile bakmak. Bu konuları da araştırmanızı öneririm: stackoverflow.com/questions/7359702/how...
veya ayrıca
msdn.microsoft.com/en-us/library/ff6506...

Eğer bu konuları biraz kurcalarsanız bir çok bilgi sahibi olacaksınız ve sorunlarınızı büyük ölçüde çözmüş olursunuz. Bunlar dışında yapabileceğiniz başka şeyler de var, örneğin "caching". Fakat bu konu biraz karışıktır ve çok dikkatli uygulanması gerekir.

Umarım faydalı olur bu bilgiler.
  • Paylaş
7

Unluckypod, vay süper bilgi

Unluckypod, --"Bu elbette 800 ms süren bir sorguyu parçalara ayırmaya çalışarak da olabilir, mevcut sorgunun hangi aşamalarda zaman kaybettiğini gözlemlemekle de olur" --sorguyu parçalara ayırmak ne demek kısaca anlatır mısın?

Hakan Köse, Mesela diyelim ki, bir kişinin adı, soyadı, mesleği, takipçi sayısı, takip ettiği kişilerin sayısı ve bunlarla birlikte son takip ettiği/edildiği 5 kişinin foto ve ad soyad bilgisini alan bir sorgun var. Bunların tümünü tek sorgu ile alabilirsin ve performans sorunu yaşamazsan sorun olmaz. Fakat bir zaman kaybı söz konusu ise "son takip ettiği/edildiği 5 kişinin foto ve ad soyad bilgisini" ayrı bir sorgu ile alman daha iyi olabilir. Basit olsun diye böyle bir örnek verdim ama durum teme hali ile böyle..

Birkan Aydin, Hakan abi, yine döktürmüşsün.. bence sen inploid üzerindeki çalışmalarını bi kitap haline getir...Hatta ben yaşamış olduğun sorunlar üzerine bir yazı yazmanı çok istiyorum. İlla ki uzun geceler seni uyutmayan sorunların olmuştur :)

Unluckypod, evet gerçekten hakan bey çok faydalı oldu bana yazılım konusunda, tabii inploid de ki diğer arkadaşların da hakkını yemeyeyim. allah hepsinin tuttuğunu altın etsin:)

Unluckypod, hmmm anladım. enteresan. yani anladığım şu sql kodunun satırını ve karmaşıklığının artmasının zaman kaybına etkisi, parabolik oluyor. burda parabolik derken benzetme amaçlı kullandım parabolik sözcüğünü, yani zaman kaybına etkisi doğrusal değil de normalde olması gerekenden daha büyük gibi. doğru mu anlamışım?

Hakan Köse, Evet doğru diyebiliriz. Normalde stabil bir sistemde yük arttıkça performans pek etkilenmez, elbette eldeki donanımın gücü bir yere kadar dayanır o ayrı. Fakat, stabil olmayan bir sistemde yük artmaya başladığında hizmette aksamalar olmaya başlar. Yani domanımınız yeterli olduğu halde yükü taşıyamıyorsa bir optimizasyon gerekir..

Bu arada teşekkür ederim, faydalı olduysa ne mutlu..

Sonraki Soru
HESAP OLUŞTUR

İstatistikler

154 Görüntülenme3 Takipçi1 Yanıt

Konu Başlıkları