BT Canlı Ortam Bilgilerinden Performans Testine Geçiş
Canlı ortam performans bilgilerinin test operasyonları için kullanılması veya bağlanması yaklaşımına uygulama performansının sürekliliğinin sağlanması denilmektedir. Süreklilik yaklaşımındaki nihai hedef, performans mühendisliği faaliyetlerindeki etkinliği ve yararlılığı artırmak, uygulamaların canlıya aktarılmasında oluşabilecek performans ilişkili sorunlarını ve kesinti risklerini azaltmaktır. Süreklilik yaklaşımındaki hedeflere ulaşabilmek için, ilgili takımlar geliştirme ve operasyon ekipleri koordine ve işbirliği içerisinde çalışmalıdır. Takımlar uygulama performans verilerini canlı ortam ve test arasında paylaşabilmelidir. Örnek olarak:
• Kullanım Verisi – Gerçek kullanıcılar sistemi nasıl kullanıyorlar?
• Kullanım Verisi – En yoğun iş süreçleri hangileridir?
• Performans Verisi – En tepe kullanım hangisidir ve ne zaman?
• Performans Verisi – Tepe kullanımda canlı ortamın cevap süreleri nasıldır?
• İzleme Verisi – Canlı ortam uygulamalarını nasıl izleriz?
Canlı ortam ve test arasında kurulacak bir köprü sayesinde, süreklilik yaklaşımı ile uygulama performanslarının artışı, uygulanacak belirlenmiş adımlar sayesinde artırılabilecektir. Aynı zamanda performans testleri için daha güvenilir ve geçerli veriler elde edilmiş olacaktır.
Test ekipleri canlı ortamdaki hangi bilgileri kullanabilirler
Test ekiplerinin canlı ortam metriklerinden elde edebileceği yığınla bilgi bulunmaktadır.
• Hangi iş süreçlerini test için kullanmalıyım? Hangi scriptleri test oluştururken kullanmalıyım?
Çoğu zaman sıkıntılardan bir tanesi hangi iş süreçlerinin test edileceğine karar verilmesidir. Teorik olarak, eğer HP Real User Monitoring (RUM) gibi bir ürünle gerçek kullanıcıların canlı ortamdaki oturum bilgilerini görebiliyorsanız, gerçek kullanıcıların iş süreçlerini yansıtacak scriptleri oluşturmak için bu verileri kullanabilirsiniz.
Buna ek olarak scriptleri oluşturmak genel test sürecinin zaman alıcı bir iş adımı olduğundan, eğer firmanızda sentetik iş adımlarının izlenmesi için kullanılan HP Business Process Monitoring (BPM) gibi bir çözüm bulunuyorsa, canlı ortam için kullanılan bu scriptleri performans testleri gerçekleştirirken kullanabilirsiniz.
Bu iki yaklaşımın birleşimi sayesinde test faaliyetleri hızlanacak, dolayısıyla test verimliliği artacaktır.
• Hangi iş süreçlerini bir araya getirerek test yapmalıyım? Test yaparken gerçek kullanım koşullarını oluşturabiliyor muyum?
Performans testleri sırasında karşılaşılan sıkıntılardan bir tanesi ise; Neyi test etmeye ihtiyacım var? Ne kadar kullanıcı ile test yapmalıyım? Hangi iş süreçlerini bir araya getirip senaryo oluşturmalıyım? gibi sorulara cevap bulamamaktır.
Test senaryolarını oluşturmak için, eğer mümkünse, canlı ortamdan alınan gerçek bilgileri kullanmak her zaman en doğrusudur. Örnek olarak, tepe kullanım saatlerde, sistemde toplam 450 kullanıcı varken, bu kullanıcıların %50’si “gezinme” işlemini, %20’si “arama” işlemini %10’u “satın alma” işlemini gerçekleştiriyor olabilir. Veya tepe kullanım saatlerinde bu işlemlerin kombinasyonu gerçekleşiyor olabilir: 10 arama işlemi, 15 satın alma vb.
Bu veri genel olarak HP RUM (Real User Monitoring) gibi ürünlerden veya sunucu günlük dosyalarından sağlanabilir. Test çözümü için bu tepe kullanım saatlerindeki veri alınabilir ve izlenen uygulamalar için doğru test senaryoları oluşturabilir.
Daha da ötesinde, canlı ortam kullanım bilgilerine sahip olunduktan sonra, buna göre oluşturulan testler sayesinde, aynı zamanda canlı ortam ve test ortamı kullanımını karşılaştırılabilir ve doğruluğu artırılabilir. Bu sayede test faaliyetlerinin güvenilirliği, anlamı ve doğruluğu artmış olur.
• Hizmet seviyesi hedeflerim (SLO’lar) farklı iş süreçleri için ne olmalıdır?
Eğer bir uygulama canlı ortamda ise, canlı ortam izleme ekipleri genel olarak belirli iş süreçleri için hangi ortalama çalışma sürelerinin olması gerektiği bilgisine sahip olurlar, ve bu bilgiye bağlı olarak hizmet seviyesi anlaşmaları (SLA’ler) yapılandırması yapabilirler. Test ekipleri bu SLA bilgilerini kullanarak performans testleri için SLO oluşturabilirler. Bu sayede canlı ortam bilgilerine karşılık gelen hedefleri kullanarak iş süreçleri için daha anlamlı ölçümler yapabilirler.
• Testleri gerçekleştirirken hangi sistem metriklerini izlemeliyim?
Canlı ortam izleme ekipleri hangi sistemlerin hangi metriklerle izlenmesi gerektiği hakkında bilgiye sahipler. Test takımı bu bilgileri kullanarak test ortamında yapılacak izleme gereksinimlerini oluşturabilirler. Bu sayede test faaliyetleri hızlanabilecektir.
End User Management (EUM) ile HP’nin uygulama performans yönetimi yaklaşımının örnekleri:
• Çift yönlü script kullanımı: Canlı ortam ve test ortamları arasında scriptler farklı amaçlar için kullanılabilir. Gerçek Kullanıcı oturum bilgilerinden çıkarak, daha gerçekçi test scriptleri oluşturulabilir. Diğer taraftan, Loadrunner ve Quick Test Professional tarafında hazırlanan scriptler ise, BSM içerisindeki HP Business Process Monitor modülünde, canlı ortamı izlemek için kullanılan sentetik iş adımları süreçlerinde kullanılabilir.
• Yük modelleri analizi: HP Real User Monitor oturum verisi kullanılarak gerçek dünya koşullarını yansıtan daha doğru yük testleri oluşturulabilir. Canlı ortamdaki sistem üzerinde gerçekleştirilen değişiklikler sonrasında oluşan etki ölçülebilir (öncesi ve sonrasındaki anlık görünümler karşılaştırılarak). Canlı ortam verileri ile sentetik yük verileri karşılaştırılabilir.
• Ortamlar arası analizler: Canlı ortam ve sentetik yük ortamları verileri kullanılarak, kod ve konfigürasyon sorunlarını ayırt edebilir ve bu problemlerden kurtulabilirsiniz.
• Kök sebep analizi: Sistem içerisindeki bir ya da birden fazla katmandaki performans gerilemesiyle ilgili altında yatan sıkıntıyı tanımlayabilmek için hem canlı ortam gerçek yük verilerini veya canlı ortam öncesi sentetik yük verilerini HP Diagnostics yazılımı kullanarak tanımlayabilirsiniz.
• HP Diagnostics yazılımı, iş süreçleri patikalarını tanımlamaya yardımcı olur, bu sayede test veya canlı ortam için performans sorunlarının tanımlanması ve teşhislenmesi kolaylaşmaktadır. Bu araç hem canlı ortamlar hem de test ortamlarında kullanılabilmektedir.
• HP Diagnostics yazılımı test ve canlı ortamlar için uygulama erişilebilirliği ve performansını artırmaya, test ve ayarlama döngülerindeki süreleri azaltarak, üretkenliği artırarak ve performans sorunlarının teşhisi ve çözümünü hızlandırarak yardımcı olmaktadır.
• HP Diagnostics yazılım ile son kullanıcıdan uygulama bileşenlerine ve platformlar arası hizmet çağrılarına doğru ilerleyerek sıkıntıları belirleme ve çözme aşamaları daha rahat yapılabilir. Bunlar, yavaş çalışan hizmetler, metodlar, SQL’ler, bellek hataları, thread hataları veya daha fazlası olabilir.
• Aynı zamanda HP Loadrunner ve HP Performance Center yazılımlarının yeteneklerini, en karmaşık ve bileşik uygulama ortamları için bile sorunları adreslemede yardımcı olmak için artırabilir. Örnek olarak test ortamlarında genelde saklanabilen fakat canlı ortamlarda oluşan yavaş bellek kaçaklarının tespiti gibi.