Aracılığıyla paylaş


Yükleme Testleri için Değerlendirmeler

Bu konu, Visual Studio Ultimate içinde büyük yükleme testleri gerçekleştirmek için ipuçları sağlar. Aşağıdaki konular ele alınmaktadır:

Uygun Yükleme Deseni Seçme

Uygun Bağlantı Modelini Seçme

Örnek Hız ve Veri Koleksiyonu

Düşünme Zamanı

Web Performans Testi İstekleri için Yanıt Süresi Amaçları Ayarlama

Yüzdelik Veri Toplamak için Zamanlama Ayrıntılarını Dahil Etme

Yeni Kullanıcı Özelliklerinin Yüzdeliğini Ayarlama

ASP.NET Profil Oluşturucusunu Etkinleştirme

Sanal Kullanıcı Günlüğünü Etkinleştirme

SQL İzlemeyi Etkinleştirme

Aracı Bilgisayarların Uygun Bir Sayısını Tutma

Uygun Yükleme Deseni Seçme

Üç tür yük deseni var: sabit, adım ve hedef tabanlı. Yükleme testiniz için uygun deseni seçmek üzere her türün avantajını anlamalısınız. Daha fazla bilgi için bkz. Sanal Kullanıcı Etkinlikleri Modellemek için Yükleme Modellerini Düzenleme.

Sabit

Sabit yükleme deseni, yükleme testinizi, uzun zaman süresince aynı kullanıcı yüküyle çalıştırmak istediğinizde yararlıdır. Yüksek kullanıcı yükü ile sabit yük düzeni belirtirseniz, ayrıca ısınma süresini de belirtmeniz önerilir. Isınma zamanı belirttiğinizde, yüzlerce yeni kullanıcı oturumunun aynı anda siteye girmesiyle oluşacak fazla yoğunluktan kaçınırsınız.

Adım

Adım yükleme düzeni en yaygın ve faydalı yükleme düzenlerinden biridir, çünkü, kullanıcı yükü arttıkça, sisteminizin başarımını görüntülemenize olanak verir. Kullanıcı yükü arttıkça sisteminizi izleme, kabul edilebilir yanıt süreleriyle kaç kullanıcının desteklenebileceği sayısını veya kaç kullanıcıyla başarımın kabul edilemez olduğunu belirlemenizi sağlar.

Her adım çok sayıda kullanıcı eklerse, örneğin 50'den fazla kullanıcı, adımdaki kullanıcıların başlangıçlarını şaşırtmak için Rampa Süresini Adımla özelliğini kullanmayı düşünün. Daha fazla bilgi için bkz. Adım Yük Düzeni için Adım Rampa Süresi Özelliği Nasıl Belirlenir.

Hedef tabanlı

Hedef tabanlı yükleme düzeni, kullanıcı yükünün zamanla artması bakımından adım yükleme düzeniyle aynıdır, fakat, bu bazı başarım sayaçları belirli bir düzeye geldiğinde yüklemenin durması gerektiğini belirlemenizi sağlar. Örneğin, hedef tabanlı yükleme düzenini, hedef sunuculardan birinin %75 meşgul olana kadar artması ve daha sonra sabit kalması için kullanabilirsiniz.

Gereksiniminizi karşılayan önceden tanımlanmış yükleme düzeni yoksa, yükleme testi çalışırken onu denetleyecek bir yükleme testi eklentisi uygulamak da mümkündür. Daha fazla bilgi için bkz. Yükleme ve Web Performansı Testleri için Özel Eklentiler Oluşturma ve Kullanma.

Uygun Web Performansı Test Bağlantısı Modelini Seçme

Yük Testi Çalıştırma Ayarları, Web Testi Bağlantı Modeli özelliğini kullanarak, Web sunucusuna kullanıcı bağlantılarını modellemeye yönelik farklı seçenekleri destekler. Üç tür bağlantı modeli var: kullanıcı başına bağlantı, bağlantı havuzu ve test yinelemesi başına bağlantı. Yükleme testiniz için uygun bağlantı modelini seçmek üzere her türün avantajını anlamalısınız.

Kullanıcı Başına Bağlantı

Kullanıcı başına bağlantı modeli gerçek bir tarayıcının en yakın benzetimini yapar. Web performans testi çalıştıran her sanal kullanıcı her Web Sunucusu için en fazla altı adet bağlantı kullanır. Bağlantı söz konusu sanal kullanıcıya atanmış olan Web sunucusu için açık tutulur. Web performans testindeki ilk istek oluştuğunda, ilk bağlantı kurulur. Ek bağlantılar, bir sayfada birden fazla bağımlı istek bulunduğunda kullanılabilir; bu istekler ek bağlantıları paralel olarak kullanarak oluşabilir. Eski tarayıcılar bir Web sunucusu için iki bağlantı kullanırken, FireFox 3 ve Internet Explorer 8 tarayıcıları bir Web sunucusu için 6 adede kadar bağlantı kullanabilir. Aynı bağlantılar, sanal kullanıcı yararına yükleme testi boyunca yeniden kullanılır.

Kullanıcı başına bağlantı modelinin bir dezavantajı, aracı bilgisayarda açık tutulan bağlantı sayısının en fazla kullanıcı yükünün altı katı olmasıdır veya birden çok Web sunucusu hedeflendiğinde yüksek olsa bile ve bu yüksek bağlantı sayısını destekleyen gerekli kaynaklar, tek yükleme testi aracısından yürütülen kullanıcı yükünü sınırlayabilir.

Bağlantı Havuzu

Bağlantı havuzu modeli, Web sunucusuyla sanal Web performans testi kullanıcıları arasındaki bağlantıyı paylaşarak yükleme testi aracısındaki kaynakların tasarrufunu sağlar. Bağlantı havuzu modelinde, bağlantı havuzu boyutu, web sunucusuyla yükleme testi aracısı arasında yapılan en fazla bağlantı sayısını belirler. Kullanıcı yükü, bağlantı havuzu boyutundan büyük ise, farklı sanal kullanıcılar adına çalışan Web performans testleri bağlantıyı paylaşır. Yükün çoğunu uygulama katmanına yöneltmek için kullanılabilecek en iyi model budur.

Bir bağlantıyı paylaşmak, diğer bir Web performans testi bağlantıyı kullanırken, bir Web testinin isteği vermeden önce beklemesi anlamına gelir. Paylaşımı, bir Web performans testi başka bir bağlantı kullanırken istek vermeden önce beklemeniz gerekebilir anlamına gelir. Web performans testinin bir isteği göndermeden önce beklediği ortalama süre, yükleme testi performans sayacı Ortalama tarafından izlenir. Bağlantı Bekleme Süresi Bu sayı bir sayfa için ortalama yanıt süresinden daha az olmalıdır. Değilse, bağlantı havuzu boyutu büyük olasılıkla çok küçüktür.

Her Test Yinelemesi için Bağlantı

Her test yinelemesi için bağlantı her test yinelemesi sonrasında bağlantıyı kapatır ve sonraki yineleme üzerinde yeni bir bağlantı açar.

Bu ayar, en çok yoğunluğu ağa oturum açmalarınıza bindirir. Bu bir gereklilik olmadığı sürece, önceki iki seçenekten birini kullanmanız önerilir.

Örnek Hız ve Veri Koleksiyonu

Yükleme testinin uzunluğuna dayanarak uygun bir örnekleme hızı seçin. Düşük örnekleme hızı, örneğin beş saniye, her başarım sayacı için büyük örnekleme hızından daha fazla veri toplar. Büyük miktarda veri toplama uzun süre için disk alanı hatalarına neden olabilir. Uzun yükleme testleri için, topladığınız veri miktarını azaltmak için örnek hızını artırabilirsiniz. Başarım sayaçlarının sayısı da toplanan veri miktarını etkiler. Test altındaki bilgisayarlar için, sayaçların sayısını azaltmak, topladığınız veri miktarını azaltır.

Hangi örnek hızının sizin belirli yükleme testiniz için en iyisi olduğunu öğrenmek için deneyimlemeniz gerekir. Ancak, aşağıdaki tablo, başlamak için kullanabileceğiniz önerilen örnek hızlarını sağlar.

Yükleme Testi Süresi

Önerilen Örnek Hız

<1 Saat

5 saniye

1 - 8 Saat

15 saniye

8 - 24 Saat

30 saniye

> 24 Saat

60 saniye

Düşünme Zamanı

Web performans testi istekleri için düşünme süresinin makul yanıt süreleri ile desteklenen kullanıcı sayısı üzerinde önemli bir etkisi vardır. Düşünme süresini 2 saniyeden 10 saniyeye değiştirmek, genellikle 5 kat daha fazla kullanıcının benzetimini yapmanızı etkinleştirir. Ancak, hedefiniz gerçek kullanıcıların benzetimini yapmaksa, kullanıcıların Web sitenizde nasıl davranacağını düşünerek, düşünme süresini ayalmalısınız. Düşünme süresi ve kullanıcı sayısını artırma, Web sunucunuza ek bir yoğunluk koyacak demek değildir. Web sitesi doğrulanmışsa, kullanılan şema türü başarımı etkiler.

Web performans testi için düşünme zamanlarını devre dışı bırakırsanız, saniyedeki istek cinsinden daha fazla üretilen işi olan Yükleme testi üretme olanağınız olabilir. Düşünme zamanlarını devre dışı bırakırsanız, kullanıcı sayısını düşünme zamanlarının devrede olduğu zamana göre çok daha aza indirebilirsiniz. Örneğin, düşünme zamanlarını devredışı bırakırsanız ve 1000 kullanıcı çalıştırmaya çalışırsanız, hedef sunucusunu veya yükleme testi aracısını bunaltabilirsiniz.

Daha fazla bilgi için bkz. Yükleme Testleri Senaryolarında Web Sitesi İnsan Etkileşim Gecikmelerini Benzetmek için Düşünme Zamanlarını Düzenleme.

Web Performans Testi İstekleri için Yanıt Süresi Amaçları Ayarlama

Web test isteğinin özelliklerinden biri de yanıt süresi hedefidir. Web performans testi istekleriniz için yanıt süresi hedeflerinizi belirlerseniz, Web performans testi yükleme testinde çalıştığında, Yükleme Testi Çözümleyicisi yanıt süreleri hedefe ulaşmayan Web Performans testlerinin yüzdelerini bildirir. Varsayılan değer olarak, Web testler için tanımlanan hiç yanıt süresi hedefi yoktur.

Buna ek olarak, Yanıt Süresi Hedef doğrulama kuralını kullanıyorsanız, yanıt zamanı hedefine ulaşmayan sayfalar yük testinde bir hataya neden olacaktır. Oturum açma hatası kullanıyorsanız, yavaş sayfa oluştuğunda o sanal kullanıcının ne yaptığını görebilirsiniz.

Daha fazla bilgi için bkz. Nasıl yapılır: Web Performans Testi İçinde Sayfa Yanıtlama Zamanı Amaçları Ayarlama.

Yüzdelik Veri Toplamak ve Ayrıntılar Görünümünü Etkinleştirmek için Zamanlama Ayrıntılarını Dahil Etme

Çalışma ayarları Timing Details Storage (Zamanlama Ayrıntıları deposu) adlı bir özellik içerir. Bu özellik etkinleştirilmişse, her tek tek test işlemini yürütmek için geçen süre ve yükleme testi süresince sayfa, yükleme testi sonuçları deposunda saklanır. Bu, Yük Testi Çözümleyicisi'nde Sanal Kullanıcıların Etkinlik Grafiğini etkinleştirir. Testler, Hareketler ve Sayfalar tablolarındaki Yük Testi Çözümleyicisi'nde gösterilmek üzere 90., 95. ve 99. yüzdeliklere ve standart sapmaya izin verir.

Varsayılan olarak, Zamanlama Ayrıntıları Deposu özelliği, Yük Testi Çözümleyicisi kullanılarak yük testi sonucundaki Ayrıntılar görünümünde Sanal Kullanıcı Faaliyeti grafiğini desteklemesi için etkinleştirilir.

Daha büyük testler için Zamanlama Ayrıntıları Deposu özelliğini devre dışı bırakmanız gerekir. Bunu yapmanın iki önemli nedeni vardır.

  • Zamanlama ayarları verisini saklamak için yükleme testi sonuçları deposunda gereken alan miktarı, özellikle uzun yükleme testleri için, çok büyük olabilir.

  • Ayrıca, yükleme testinin sonundaki yükleme testi sonuçları deposundaki veriyi saklamak için zaman uzundur, çünkü bu veri yükleme testi yürütmesini bitirene kadar yükleme testi aracısında depolanır.

Yükleme testi sonuçları deposunda yeterli disk alanı kullanılabilirse, yüzdelik veriyi edinmek için Zamanlama Ayrıntıları Deposunu etkinleştirebilirsiniz. Zamanlama Ayrıntıları Depolama'yı etkinleştirmek için iki seçeneğiniz var: StatisticsOnly ve AllIndividualDetails. Her iki seçenek için de, tüm tek tek sınamalar, sayfalar ve hareketler zamanlıdır ve yüzdelik veriler tek tek zamanlama verisinden hesaplanır. StatisticsOnly (Yalnızca istatiskiler)'i seçerseniz, yüzdelik veri hesaplandıktan sonra tek tek veri depodan silinir. Veri silme depo içinde gerekli yer miktarını azaltır. Ancak, SQL araçları kullanarak, doğrudan zamanlama ayrıntı verilerini işlemek ya da Sanal Kullanıcı Etkinlik Grafiği'nde sanal kullanıcı ayrıntılarını görmek isterseniz, AllIndividualDetails (Tüm Tek Ayrıntılar)'ı seçin, böylece zamanlama ayrıntı verileri depo içinde kaydedilir.

Daha fazla bilgi için bkz. Yük Testi Çözümleyicisinin Ayrıntılar Görünümünde Yük Testi Sanal Kullanıcı Faaliyetini Çözümleme ve Sanal Kullanıcı Etkinlik Grafiğini Etkinleştirmek için Tüm Ayrıntıları Toplamak için Yük Testleri Nasıl Yapılandırılır.

Yeni Kullanıcı Özelliklerinin Yüzdeliğini Ayarlama

Yükleme testindeki her senaryonun Yeni Kullanıcı Yüzdesi adlı bir özelliği vardır. Bu özellik, yükleme testi çalışma zamanı altyapısı benzetimi yapan Web tarayıcısı tarafından gerçekleştirilen önbelleğe alma işlemini etkiler. Yeni Kullanıcılar Yüzdesi'nin varsayılan değeri 0'dür. Buna göre her bir sanal kullanıcı, test yinelemeleri arasında bağımlı isteklerden oluşan bir sanal önbellek ve tanımlama bilgilerinden oluşan bir liste tutar. Önbellek, gerçek web tarayıcılarını en yakın şekilde modelleyen tarayıcı önbellek gibi çalışır, bu yüzden URL'ye daha sonradan istek gelmeyecektir.

Yeni Kullanıcıların Yüzdesi % 100'e ayarlanırsa, her kullanıcı fiilen bir "bir kez kullanıcı"dır ve siteye asla geri dönmez. Bu durumda, yükleme testinde çalışan her Web performans testi yinelemesinin, tarayıcısında o siteyi önceki ziyaret edişlerinden, Web sitesinden önbelleğe alınan hiç içeriği olmayan kullanıcılara ilk kullanıcı gibi davranması anlamına gelir. Bu nedenle Web performans testindeki görüntüler gibi tüm bağımlı istekleri de içeren tüm istekler karşıdan yüklenir.

Not

Özel durum, aynı önbelleklenebilir kaynağın bir Web performans testinde birçok kez istenmesi durumudur.

Yükün çoğunu Web sitenizin uygulama katmanına çekmek için varsayılan değer olan yüzde 0 yeni kullanıcıyı kullanın. Yalnızca gerçek kullanıcıları daha yakından modellemez, aynı zamanda en fazla performans sorununun oluştuğu uygulama katmanınıza daha fazla yük getirir. Daha fazla bilgi için bkz. Web Önbellek Verilerini Kullanan Sanal Kullanıcıların Yüzdesi Nasıl Belirlenir.

ASP.NET Profil Oluşturucusunu Etkinleştirme

Bir yük testi yürütürken ASP.NET profil oluşturucu verilerini uygulama katmanından toplamanızı sağlayan ASP.NET profil oluşturucu tanılama veri bağdaştırıcısı, Microsoft Visual Studio 2010 belirtecindeki yeni bir özelliktir. Profil oluşturucu dosyası (yüzlerce megabayt gibi) büyük boyutlarda olabileceğinden uzun yükleme testleri örneğin bir saatten daha uzun süren yükleme testleri için profil oluşturucuyu çalıştırmamanız gerekir. Bunun yerine ASP.NET profil oluşturucusu kullanarak, performans sorunlarını derinlemesine tanılama faydası sağlayacak olan daha kısa yük testleri çalıştırın.

Daha fazla bilgi için bkz. Test Ayarları Kullanılarak Yük Testleri ASP.NET Profil Oluşturucu Nasıl Yapılandırılır.

Sanal Kullanıcı Günlüğünü Etkinleştirme

Microsoft Visual Studio 2010 içindeki yeni bir özellik, başarısız testler için tam günlükler almanızı ya da testleri kaydedeceğiniz sıklığı belirtmenizi sağlar. Günlüğe kaydetme işlemi Test Başarısız Olduğunda Günlüğü Kaydet, Tamamlanan Görevler için Günlük Sıklığını Kaydet ve Maksimum Test Günlüğü Sayısı özellikleriyle denetlenir. Toplanan günlüklerin sayısı Günlüğe kaydetme işlemi En Fazla Test Günlüğü Sayısı ve Tamamlanan Testler için Günlük Sıklığını Kaydet öğeleri tarafından denetlenir. Varsayılan ayarları çok sayıda günlüğün toplanmasını önler. Milyonlarca istek oluşturacak uzun süreli testlerde, Tamamlanmış Testler İçin Günlük Sıklığını Kaydet ayarını kullanmayın, aksi takdirde günlük sayısı çok büyük olacaktır. Ayrıca, En Fazla Test Günlüğü Sayısı özellik ayarını (aslında hata türü başına en fazla günlük sayısını kontrol eder) makul bir sayıda tutun. Logları toplarken testin bitiş süresini artıracağından ve yükleme test veritabanındaki alanda yer kaplayacağından on binlerce günlüğün toplanmasını engellemek için bu ayarları korumanız gerekir.

Daha fazla bilgi için bkz. Yük Testi Günlük Oluşturma Ayarlarını Değiştirme.

SQL İzlemeyi Etkinleştirme

Çalışma ayarları SQL Tracing Enabled (SQL İzleme Etkin) adlı bir özellik içerir. Bu özellik, Microsoft SQL Sunucu'nun izleme özelliğini, yükleme testinin süresi için etkinleştirmenize izin verir. Bu, yükleme testi SQL başarım problemlerini tanılamak için çalışırken farklı SQL Profilcisi başlatmak için bir alternatiftir. Özellik etkinleştirilmişse, SQL izleme verileri Yükleme Testi Çözümleyicisi'nde görüntülenir. Bunu, SQL İzleme tablosunun Tablolar sayfasında görüntüleyebilirsiniz.

Bu özelliği etkinleştirmek için, yükleme testini çalıştıran kullanıcı, SQL izlemeyi gerçekleştirmek için, SQL ayrıcalıklarına sahip olmalıdır. Bir yükleme testi bir test aracısı ve test denetleyicisi kullanarak uzak bir makinede çalıştığında, denetleyicinin SQL ayrıcalıkları olması gerekir. İzlenen verinin yazılacağı, genellikle ağ paylaşımı, dizini de belirlemeniz gerekir. Yükleme testinin sonunda, izleme verileri, yükleme testi dosyası içine aktarılır ve yükleme testiyle ilişkilendirilir, böylece daha sonra Yükleme Testi Çözümleyicisi kullanılarak görüntülenebilir.

Daha fazla bilgi için, bkz. Yük Testi Çalıştırma Ayarlarını Yapılandırma ve Yük Testi Düzenleyicisi Kullanılarak SQL İzleme Verileri Nasıl Tümleştirilir.

Aracı Bilgisayarların Uygun Bir Sayısını Tutma

Aracı bilgisayarın CPU kullanımı % 75'den daha fazlaysa, veya kullanılabilir fiziksel belleği % 10'dan daha azsa aşırı yüklenir. Aracı bilgisayarın sıkışıklık haline gelmediğinden emin olmak için, test denetleyicisine daha çok aracı yükleyin.

Daha fazla bilgi için bkz. Test Denetleyicileri ve Test Aracılarını Kullanarak Birçok Test Makinesi Arasında Yükleme Testlerini Dağıtma ve Yük Testi Senaryolarında Kullanılacak Test Aracıları Nasıl Belirlenir.

Ayrıca bkz.

Görevler

Yükleme Testleri Sorun Giderme

Kavramlar

Hatalar Tablosunu Kullanarak Yük Testlerindeki Hataları Çözümleme

Yük Testi Çözümleyicisi'ni Kullanarak Yük Testlerindeki Eşik Kuralı İhlallerini Çözümleme

Diğer Kaynaklar

Yükleme Testleri Oluşturma ve Düzenleme

Consideration for Load Tests that Contain Web Performance Tests