Denetim Listesi - Performans verimliliği için test etme
Uygulama performans, ölçeklenebilirlik ve dayanıklılık açısından test edildi mi?
Performans testi, sistemlerin düzgün şekilde korunmasına ve sorunlar sistem kullanıcılarına ulaşmadan önce hataları düzeltmeye yardımcı olur. Bu, Microsoft Azure Well-Architected Framework'te Performans Verimliliği sütunlarının bir parçası.
Performans testi hem yük hem de stres testinin üst kümesidir. Performans testinin birincil amacı, uygulamanın karşılaştırma davranışını doğrulamaktır.
Yük Testi, uygulamanın ölçeklenebilirliğini bir eşiğe ulaşana kadar hızla veya kademeli olarak artırarak doğrular.
Stres Testi, mevcut kaynakları aşırı yükleme ve bileşenleri kaldırmaya yönelik çeşitli etkinlikleri içeren bir negatif test t t.dır. Bu test, genel olarak nasıl bir resiliye sahip olduğunu ve uygulamanın sorunlara nasıl yanıt ver olduğunu anlamalarına olanak sağlar.
Uygulama mimarinizi performans testi açısından gözden geçirmek için aşağıdaki denetim listesini kullanın.
Performansı test etme
Paylaşılan ekip sorumluluğuyla sağlam bir performans testi olduğundan emin olmak. Anlamlı performans testlerinin başarıyla uygulanması için bir dizi kaynak gerekir. Yalnızca yerel makinelerinde bazı testler çalıştıran tek bir geliştirici veya QA Analisti değildir. Bunun yerine performans testlerinin üretim ortamlarına ve verilerine müdahale etmeden yürütülebilir bir test ortamına (testortamı olarak da bilinir) ihtiyacı vardır. Performans testi için geliştiricilerin, mimarların, veritabanı yöneticilerinin ve ağ yöneticilerinin girişi ve taahhüdü gerekir.
Kapasite planlaması. Performans testi sırasında işletmenin beklenen yükte herhangi bir dalgalanmayla iletişim kurması gerekir. Yük; siyasi, ekonomik veya hava durumu değişiklikleri gibi dünya olaylarını etkileyenin; satış veya promosyon gibi pazarlama girişimlerine göre; veya tatiller gibi mevsimsel olaylara göre. Uygulamanın ölçeklendirileyene kadar beklenilenler de dahil olmak üzere olaylardan önceki yük çeşitlemelerini test etmek. Ayrıca, bir bölgenin başarısız olması için tüm bölgelerin toplam yükü destekleyecek şekilde yeterli şekilde ölçeklendirileyene sahip olduğundan emin olasınız.
Mevcut testlerden veya yeni testlerin oluşturulmasına yönelik bir yol belirleme. Farklı performans testi türleri vardır: yük testi, stres testi, API testi, istemci tarafı/tarayıcı testi gibi. Farklı test türlerini ve bunların avantajlarını ve dezavantajlarını müşteri açısından anlamanız ve ifadeniz önemlidir.
Geliştirme ve dağıtım yaşam döngüsünün tüm aşamalarında test gerçekleştirin. Uygulama kodu, altyapı otomasyonu ve hataya dayanıklılık test edilebilir. Bu, uygulamanın her durumda beklendiği gibi gerçekleştirmeyi sağlar. Hataları yakalamak ve düzeltmek için uygulama yaşam döngüsünde yeterince erken test etmek gerekir. Hataların erken yakalanması daha ucuzdur ve daha sonra düzeltmek pahalı veya imkansız olabilir. Daha fazla bilgi edinmek için, uygulama ve Azure ortamınızı test etme'ye bakın.
testleriyle düşük performansla karşılaşılmasından kaçının. Yük testi ve stres testi olmak üzere iki performans testi alt kümesi, uygulama kapasitesinin üst sınırını ve maksimum hata noktasını belirleyebilir. Bu testleri gerçekleştirerek, beklenen iş yüklerini desteklemek için gerekli altyapıyı belirleyerek.
Altyapıyı aşırı yüklemeden rastgele ani artışlara uyum sağlayacak bir yük arabelleği planlayacak şekilde plan. Örneğin, normal bir sistem yükü saniye başına istekse, altyapının istekleri toplam kapasite (örneğin, saniye başına istek
100,000100,00080%125,000sayısı) ile desteklemesi gerekir. Uygulamanın istekleri saniye başına sürdürmeye devam edeceğini bekliyorsanız ve geçerli SKU (Stok Tutma Birimi) saniye başına isteklerde gecikme süresine neden olursa, büyük olasılıkla ürünü bir sonraki yüksek100,00065,000SKU'ya yükseltmeniz gerekir. İkincil bölge varsa, bunun daha yüksek SKU'su da desteklediğini emin olmak gerekir.Çoklu bölgelerde yük devretme testi. Bölgenin başarısız olması için kullanıcıların eşleştirilmiş bölgeye yeniden yönlendirilene kadar olan süre miktarını test etme. Genellikle planlı yük devretme testi, yeniden yönlendirilen yükü desteklemek üzere tam olarak ölçeklendirme için ne kadar süre gerektir olacağını belirlemenize yardımcı olabilir.
Performans verimliliğini sürdürmek için test sonuçlarına göre ortamı yapılandırma. Yük artışlarını ve düşüşlerini işlemek için ölçeğin ölçeğini artır veya ölçeği azalt. Örneğin, gün içinde yüksek trafik düzeyleriyle, hafta sonları ise düşük düzeylerle karşılaşacaklarını biliyor olabilirsiniz. Yük artışları için ortamı yapılandırabilirsiniz veya yük gerçekten değişiklik olmadan önce azalmalar için ölçeği azaltabilirsiniz.
Test araçları
Yürütmeye çalıştığınız performans testi türüne göre test araçlarını seçin. Bu araçlar için çeşitli performans testi DevOps. Gibi bazı araçlar
JMeteryalnızca uç noktalara karşı test gerçekleştirin ve HTTP durumlarını test edin. K6 ve Selenium gibi diğer araçlar, veri kalitesini ve varyasyonlarını da kontrol etmek için testler gerçekleştirebilirsiniz. Azure Load Testing Preview, var olan bir JMeter betiği kullanarak yük testi oluşturmanızı ve performans sorunlarını belirlemek için istemci tarafı ve sunucu tarafı ölçümlerini izlemenizi sağlar. Uygulama Analizler, sunucu yükünü test etmek için tasarlanmasa da kullanıcının tarayıcısında bir uygulamanın performansını test ediyor olabilir.Geliştirme sırasında, test yordamlarının bir parçası olarak ve son sürümden önce uygulamanın gerektiğinde performans profili oluşturma ve yük testi gerçekleştirin. Bu test üretim platformuyla aynı donanım türünde, aynı türlerde ve veri miktarlarında ve üretimde karşılaşacak kullanıcı yükünde ortaya çıkar.
Otomatik veya el ile test kullanmanın daha iyi olup olmadığını belirler. Test otomatik veya el ile gerçekleştirilmiş olabilir. Testleri otomatik hale etmek, yürütülürken emin olmak için en iyi yol olabilir. Testlerin ne sıklıkta gerçekleştirileceklerine bağlı olarak, bunlar genellikle süre ve kapsam olarak sınırlıdır. El ile test çok daha az sıklıkta dolar.
Performansı, ölçeklenebilirliği ve kullanılabilirliği geliştirmek için verileri önbelleğe alın. Ne kadar çok veriye sahip olur ve önbelleğe almanın avantajları o kadar yüksek olur. Önbelleğe alma işlemi genellikle değişmez veya seyrek değişen verilerle iyi bir şekilde çalışır.
Bir içerik teslim ağına (CDN)bazı statik içeriklerin hizmette olması beklendiğinde yerel geliştirme ve testle nasıl CDN. Örneğin, içeriği derleme betiğinizin bir parçası olarak önceden CDN’ye dağıtabilirsiniz. Bunun yerine, uygulamanın kaynakları nasıl yüklediğine ilişkin denetim için derleme yönergelerini veya bayrakları kullanın. Örneğin, uygulama hata ayıklama modunda statik kaynakları yerel bir klasörden yükleyebilir. Uygulama yayın modunda CDN’yi kullanacaktır.
Uygulamanıza farklı iş yüklerinin benzetimini yapmak ve her iş yükü için uygulama performansını ölçmek. Bu teknik, uygulamalarınızı barındırmak için hangi kaynaklara ihtiyacınız olduğunu anlamanın en iyi yolu. Performans göstergelerini kullanarak, uygulamanın beklendiği gibi olup olmadığını değerlendirin.
Öneri
Bir test stratejisi tanımlayın. Daha fazla bilgi için Test'e bakın.