it-swarm-tr.com

HTTP sunucularını yük testi için araçlar?

Birkaç kez test HTTP sunucuları/web uygulamaları yüklemek zorunda kaldım ve her seferinde bulabildiğim araçların kalitesi beni çok etkiledi.

Yani, bir HTTP sunucusunu yüklerken, hangi araçları kullanıyorsunuz? Ve bir dahaki sefere yapmamda büyük olasılıkla yanlış yapacağım şeyler neler?

39
David Wolever

JMeter ücretsizdir.

Mercury Interactive Load Runner süper güzel ve süper pahalı.

24
Chad Grant

Mevcut şirketimin web sunucularımızla aynı anda 25.000 bağlantıyı simüle etmesi gerektiğinden (çevrimiçi reklamlar sunuyoruz) bu soruyu cevaplamak için olağandışı hissediyorum.

Son derece yüksek hacimli yük testi için Httperf gitmenin yolu budur. Ücretsizdir ve deneyimlerimize göre, JMeter veya STA'nın aynı donanımda daha eşzamanlı bağlantılarını simüle edebilir.

Düzenle:

Merak ediyorsanız, düşük güçte, ucuz, ultra küçük form faktörlü Optiplex 330'da saniyede 3500 istek simülasyonu yapıyoruz. Bu küçük kutular sadece 280 dolara mal oluyor ve bunların bir kısmı çalıştırmak için bağlanıyor İsteğe bağlı Httperf. Karşılaştırıldığında, JMeter bu donanımda sadece 800-900 req/sn itebilir.

21
Portman

Bir web sunucusunda aynı anda tek bir URL'ye yük atmak istiyorsanız Apache AB'yi indirin. Apache HTTP sunucusu ile birlikte gelir.

Basit komut

ab -n 10000 -c 10 http://serverfault.com/questions/2107/tools-for-load-testing-http-servers

10 kullanıcının eşzamanlılığı ile 10000 istek çalıştırır.

Tarama oturumlarını kaydetmek istiyorsanız, oy verin ve jmeter yanıtını kabul edin. Jmeter inanılmaz ve büyük yük atabilecek birçok test makinesine ölçeklenebilir.

20

Erlang tabanlı bir araç olan Tsung vardır.

Ayrıca üzerinde uzun bir araç listesi var http://www.softwareqatest.com/qatweb1.html#LOAD

8
Jauder Ho

Hızlı bir test için bukleler dizilerini ve URL gruplarını kullanabilirsiniz. Diyelim ki Google'a karşı yük stres testi uygulayacağız ...

curl -s "http://google.com?[1-1000]"

Bu, google yani 1000 çağrı yapacak.

http://google.com?1  
http://google.com?2  
http://google.com?3 
... 
http://google.com?1000

Bu, Bir web sunucusunu kıvrılma ile hızlı bir şekilde stres testi nasıl yapılır

6
Ian Purton

Farklı testler ayarlamanız gerekir:

  • Normal test, kullanıcıları davranacakları gibi simüle eder. Düşünme zamanını uygulayacaksınız (sayfalar arasında http öfkesi 1 yok). Bunun bir yolu bir web oturumu kaydetmektir, böylece her sayfayı tamamlamak/okumak için gerçekçi zamanınız olacaktır. Üretimdeki ortalama akım yüküne ulaşıncaya kadar yük adım adım gelecektir
  • Patlama testi: Önceki ile aynı, ancak ilk http 500 hatasını alana kadar yük ekleyin. Amaç, kırılana kadar ne kadar yük yönetebileceğinizi bilmek
  • Uzun çalışma testi. Bellek sızıntısı olmadığından veya zaman içinde performans düşüşü olmadığından emin olmak için ilk senaryoyu 12 saat boyunca çalışır durumda tutarsınız.

Her testten sonra/önce, platformu önceki gibi geri koymalısınız: veritabanını geri yükleyin, belleği ve önbelleği temizlemek için yeniden başlatın.

Ayrıca bir ısınma uygulayacaksınız: Gerçek testten önce senaryoları bir kez başlatın, böylece web sayfaları derlenir, veritabanına bağlantı yapılır. Aksi takdirde, ilk arama istatistiklerinizde her zaman kötü olur.

Karmaşıklık ekleyebilirsiniz, örneğin:

  • farklı performans gösteren farklı senaryolar (ziyaretçiler/konuk, üyeler) kullanın.
  • Farklı bant genişliği erişimini simüle etme
  • Aranan Word'ü rastgele düşünün ve zamanı düşünün.

Son bir önemli şey: Tamamen aynı senaryoyu tekrar aynı şekilde yapabilmek için tüm tamamlanmış senaryoları kaydetmeniz GEREKİR, böylece performansı önceki testlerle karşılaştırabilirsiniz.

5
Mathieu Chateau

Sadece birden fazla bağlantıyı nasıl ele aldığını test etmek istiyorsanız Siege gibi bir şey kullanabilirsiniz. Yine de büyük bir önlem olduğundan emin değilim ama en azından birden fazla bağlantıyı nasıl ele aldığınızı size söyleyecek

2
trent

openSTA kullandım.

Bu, nispeten basit bir komut dosyası dili kullanır.

Web hizmetlerini/sunucularını kolayca test edebilir ve kendi komut dosyalarınızı yazabilirsiniz.

Komut dosyalarını istediğiniz şekilde bir testte bir araya getirmenize ve yineleme sayısını, her yinelemedeki kullanıcı sayısını, her yeni kullanıcıyı tanıtmak için rampa süresini ve her yineleme arasındaki gecikmeyi yapılandırmanıza olanak tanır. Testler gelecekte de planlanabilir.

Açık kaynak kodlu ve ücretsiz.

Bir e-tabloya kaydedilebilecek bir dizi rapor üretir. Ardından, sonuçları kolayca analiz etmek ve grafik haline getirmek için bir pivot tablo kullanıyoruz.

2
nzpcmad

Daha önce LoadRunner'ı kullandım, ancak oldukça pahalı, Microsoft'un Test Testleri sürüm araçlarını da yük testleri yürüten bir sistem içeren kullandım. Aracın nasıl çalıştığından oldukça memnun kaldım ve testleri daha sonra LoadRunner'dan almak için daha kolay bir sözdizimi olan .net kullanarak genişletebilirsiniz.

Kullandığımız yük koşucusu sürümü de AJAX sitemizi işleyemedi (Bu 2000 yılında geri döndü, bu yüzden aracın şimdiye kadar geliştirildiğinden eminim)

1
JoshBerke

WAPT kullanıyoruz ve çok iyi çalışıyor. Kurulumu kolay ve sadece birkaç yüz dolar. LoadRUnner gülünç bir şekilde overpriced ve Forutune 500 hariç herkes için tamamen ulaşılamıyor.

1
rmalayter

Senaryonuzun ne kadar karmaşık olduğuna bağlıdır.

Gerçek kullanıcıların sunucunuzdaki yükünü doğru bir şekilde simüle etmek için kullanıcıların gerçekte ne yaptığını simüle etmeyi denemelisiniz. Kullanıcılarınız sunucuya bir URL ile vurursa, ücretsiz/basit araçlardan herhangi biri bunu yapar.

Biraz daha karmaşık web sitesi için, dinamik değer korelasyonu, parametreleştirme vb. Konularında size yardımcı olacak bir araç kullanmak istersiniz. Load-Runner ve benzerlerini kullanabilirsiniz, WebLOAD =.

0
Yasei No Umi