AB, ApacheBench'in kısaltmasıdır.
ab komutu, birden fazla ziyaretçinin aynı anda URL adresine erişmesini simüle etmek için birden fazla eşzamanlı erişim iş parçacığı oluşturur. Test hedefleri URL tabanlıdır, bu yüzden hem apache yük stresini hem de nginx, lighthttp, tomcat, IIS gibi diğer web sunucusu streslerini test etmek için kullanılabilir.
ab komutu, yükü veren bilgisayar için düşük gereksinimlere sahiptir ve çok fazla CPU veya bellek kaplamaz. Ancak, hedef sunucuda büyük bir yük oluşturur ve prensibi CC saldırılarına benzer. Ayrıca kendiniz test etmeye ve kullanmaya dikkat etmelisiniz, yoksa aynı anda çok fazla yük olur. Bu, hedef sunucunun kaynaklarının tükenmesine ve ağır durumlarda çöküşe bile yol açabilir.
1. Apache Bench'e Giriş
ApacheBench, Apache sunucularıyla birlikte gelen bir web stres testi aracıdır ve kısaca ab olarak bilinir. AB ayrıca yük başlatmak için düşük yerel gereksinimlere sahip bir komut satırı aracıdır ve AB komutuna göre birçok eşzamanlı erişim iş parçacığı oluşturulabilir; böylece belirli bir URL adresine aynı anda erişen birden fazla ziyaretçi simüle edilir, böylece hedef sunucunun yük baskısını test etmek için kullanılabilir. Genel olarak, AB aracı küçük ve basit, hızlı öğrenilebilir ve ihtiyacınız olan temel performans göstergelerini sağlayabilir, ancak grafiksel sonuçlar yoktur ve izlenemez.
2. Apache Bench kurulumu
Öncelikle, Apache sunucusunu kurman, adresi indirmen gerekiyor:Bağlantı girişi görünür.,
Bilgisayarım win10 64-bit sistem, bu yüzden "httpd-2.4.33-win64-VC15.zip" dosyasını indirdim, bağlantı:Bağlantı girişi görünür.
En son sürümü indirmeniz önerilir, çünkü ab'nin eski sürümleri -r parametresini desteklemez.
3. Apache Bench kullanımı
Parametreleri anlamak
Parametre açıklaması: Format: ab [options] [http://]hostname[:p ort]/path
-n istek yapılacak istek sayısı //Bu testte başlatılan toplam istek sayısı -c eşzamanlılık sayısı // Aynı anda üretilen istek sayısı (veya eşdeğerliliği) -t Saniyeler maksimuma kadar zaman sınırı. Yanıtları Bekleyin //Bir testin varsayılan olarak yapıldığı maksimum saniye sayısı. -r Soketten çıkış hata al. Test görevine devam etmek için bir istisna ekleyin -p postfile POST'a veri içeren dosya // POST olması gereken verileri içeren dosya, örneğin "p1=1&p2=2" gibi bir dosya formatında. Kullanım yöntemi -p 111.txt
-T içerik tipi POSTing için içerik tipi başlığı POST verileri için kullanılan İçerik tipi başlığı, örneğin -T "application/x-www-form-urlencoded". (co-p) -v cümlelik Ne kadar sorun giderme bilgisi yazdırılır Detay seviyesini bilgiyi gösterecek şekilde ayarlayın – 4 veya daha büyük bir değer başlık bilgisini, 3 veya daha büyük bir değer yanıt kodu (404, 200 vb.) ve 2 veya daha büyük bir değer uyarılar ve diğer bilgileri gösterir. -V, sürüm numarasını ve çıkışlarını gösterir. -C özniteliği Kurabiye ekle, örneğin. -C "c1=1234,c2=2,c3=3" (tekrarlanabilir) -C cookie-name=value İstek: satırına bir çerez ekle. Tipik biçim, name=value parametre çiftidir. Bu parametre virgülle bölünerek tekrarlanabilir. İpucu: Oturumun sürdürülmesi işlevini elde etmek için JSESSIONID parametresini geçirmek için oturum uygulama prensibini kullanabilirsiniz, örneğin -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8" gibi. -w Sonuçları HTML tablolarında yazdırın // Çıktı HTML tablo formatında sonuçlanır. Varsayılan olarak, beyaz zemin üzerinde iki sütun genişliğinde bir tablodur. -GET yerine HEAD kullanıyorum -x öznitelikleri Tablo öznitelikleri olarak eklenecek String -y öznitelikleri tr nitelikleri olarak eklenecek String -z öznitelikleri String'i td veya th öznitelikleri olarak eklesin -H özniteliği Keyfi başlık satırı ekle, örneğin. 'Kodlamayı Kabul Et: gzip' Tüm normal başlık satırlarından sonra ekleniyor. (tekrarlanabilir) -Bir nitelik Temel WWW Doğrulaması ekle, nitelikler iki noktadan ayrılmış bir kullanıcı adı ve şifredir. -P Özniteliği Temel Proxy Doğrulaması ekle, nitelikler iki nokta ayrımlı bir kullanıcı adı ve şifredir. -X proxy:port Proxy sunucusu ve kullanılacak port numarası -V Sürüm numarası ve çıkış baskısı -k HTTP KeepAlive özelliğini kullanın -d Servis edilen masada yüzde tabanları gösterilmesin. -S Güven tahmin cihazları ve uyarılar göstermeyin. -g dosya adı: Toplanan verileri gnuplot formatı dosyasına çıktı. -e dosya adı Çıktı CSV dosyası ve yüzdeler servis edildi -h Kullanım bilgisini göster (bu mesaj) Birçok parametre vardır, genellikle -c ve -n parametreleri kullanabiliriz. Örneğin:
"httpd-2.4.33-win64-VC15.zip"i açın, \Apache24\bin sayfasına gidin ve cmd komut satırıyla başlayın, aşağıdaki şekilde gösterildiği gibi:
SSL derlenmemiştir; HTTPS desteği yok: SSL derlenmemiştir; https desteği yok, yani web sitesi https desteklemiyor.
Test sonuçları:
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com SSL derlenmemiştir; HTTPS desteği yok
C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/ Burası ApacheBench, Sürüm 2.3 <$Revision: 1826891 $> Telif Hakkı 1996 Adam Twiss, Zeus Technology Ltd.'ye aittir,Bağlantı girişi görünür. Apache Software Foundation'a lisanslıdır,Bağlantı girişi görünür.
Kıyaslamawww.itsvse.com(sabırlı ol) 100 isteği tamamladı 200 talebi tamamlandı 300 talep tamamlandı 400 talep tamamlandı 500 talep tamamlandı 600 isteği tamamladım 700 talep tamamlandı 800 talep tamamlandı 900 talep tamamlandı 1000 talep tamamlandı 1000 talebi tamamladım
Sunucu Yazılımı: Sunucu Host Adı: www.itsvse.com Sunucu portu: 80
Belge Yolu: / Belge Uzunluğu: 178 bayt
Eşzamanlı Seviye: 10 Testler için alınan süre: 44.916 saniye Tam istekler: 1000 Başarısız istekler: 0 2xx olmayan yanıtlar: 1000 Toplam aktarılan sayı: 349000 bayt HTML aktarıldı: 178000 bayt Saniye başına istekler: 22.26 [#/saniye] (ortalama) İstek başına süre: 449.164 [ms] (ortalama) Talep başına süre: 44.916 [ms] (ortalama, tüm eşzamanlı talepler boyunca) Transfer hızı: 7.59 [Kbytes/s] alındı
Bağlantı Süreleri (ms) min mean[+/-sd] medyan maksimum
Connect: 32 45 60.1 37 1439
Processing: 35 401 185.6 356 1795
Waiting: 34 245 199.6 228 1791
Total: 69 446 195.4 397 1830
Belirli bir süre içinde hizmet verilen taleplerin yüzdesi (ms) 50% 397 66% 415 75% 439 80% 461 90% 535 95% 623 98% 1563 99% 1784 %100 1830 (en uzun istek) Parametre analizi:
Belge Yolu: Test sayfası Belge Uzunluğu: Sayfa boyutu Eşzamanlılık Seviyesi: Eşzamanlı test edilen eşzamanlı sayısı Sınavlar için geçen süre: Tüm sınavın süresi Tam istekler: Tamamlanan istekler sayısı Başarısız istekler: Başarısız isteklerin sayısı Yazma hataları: 0 Toplam aktarılan miktar: Süreç boyunca aktarılan ağ miktarı Aktarılan HTML: Süreç boyunca aktarılan HTML içeriği miktarı Saniye başına talepler: LR'deki saniye başına işlemlere eşdeğer ve parantez içindeki ortalama en önemli metriklerden biri, bunun ortalama olduğunu gösterir İstek başına süre: LR'deki ortalama işlem yanıt süresine eşdeğer olan en önemli iki metrik, parantez içindeki ortalama bunun bir ortalama olduğunu gösterir İstek başına süre: Her bağlantı isteği için gerçek çalışma süresinin ortalaması Transfer hızı: Ağda saniyelik ortalama trafik, bu da uzun yanıt sürelerine neden olan aşırı ağ trafiğinin sorununu ortadan kaldırabilir
|