Her yıl daha da artan oranda istemci ağırlıklı (Node.js gibi teknolojilerin de gelişmesi ile) yapıların kurulması, yazılım performansı açısından daha kritik rol oynamaya başlıyor. Genel olarak, istemci tarafında artan kod miktarı ile sunucular üzerindeki yük azalmakta denilebilir. Bu sayede kapasite anlamında oldukça yüksek oranda verimlilik de elde edilmiş oluyor. Örneğin, Java kodu içerisinde gerçekleştirilen bir grafiksel gösterim x kadar kullanıcıya destek verebilirken, bu gerçekleştirimi JQuery tarafında yaparak 2x kullanıcıya 10’da 1 kapasite ile destek vermek mümkün olabiliyor.
Ancak böyle bir mimari ne kadar verimli olursa olsun, nihai olarak belirli bir kapasite sunabiliyor. Performans Mühendislerinin de bu kapasiteleri ölçümlemesi ve akabinde iyileştirebilmesi için çeşitli aktiviteler gerçekleştirmesi gerekiyor (Performans iyileştirmeleri kendi başına oldukça geniş bir konu olduğu için daha sonra değinmenin uygun olacağını düşünüyorum). Testler esnasında, genel olarak, client-side kodların sunucu tarafına yük getirmediğini düşünmek ve tasarımı bu göre dizayn etmek mümkün. Ancak Ajax gibi client-side ve asenkron teknolojiler işin içine girdiğinde durum değişmeye başlıyor. Çünkü bu uygulamalar çalıştıkları süre içerisinde sayfa istemi gerçekleştirmiyor olsalar da, sunucu ile sürekli olarak haberleşiyor oluyorlar.
Bu noktada durumu kotarmak için gerçekleştirilebilecek üç farklı aktivite bulunuyor. İlk seçenek olarak, client-side kodları da simule edebilen “True-Client” gibi teknolojilere sahip araçların kullanılması akla geliyor. İkincil olarak, Selenium Webdriver gibi tamamen user experience’ı simule edebilecek ve browser üzerinden uygulamaya erişen otomasyon araçlarını kullanmak mümkün (Ancak bu yaklaşım gerçekleştirilmek isteniyorsa oldukça iyi bir tasarım gerçekleştirilerek, bazı ödünlerin verilmesi gerekecektir). Üçüncü ve son olarak da, standart performans araçları içerisine bu aktivitelerin kodlanmasını belirtebiliriz.
Kişisel olarak maliyet, zaman ve kalite kriterleri total olarak değerlendirildiğinde, tercihimin 3, 2 ve 1 şeklinde olacağını söyleyebilirim. Bu şekilde kesinlikle daha fazla emek ve tecrübe gerekirken, oldukça yüksek miktarda parasal tasarruf yapılabilecektir.
Referans: http://www.keytorc.com/yazilim-performans-testleri/