celal yıldız uzaktan eğitim bodrum haber podoloji ankara katılım bankası kdv iadesi
Ana Sayfa Genel 3 Ocak 2021 275 Görüntüleme

Web sunucusunu Apache Bench ile kıyaslama

Apache Bench, web sunucusunun performansını ölçmek için kullanılan bir araçtır. Adında “Apache” olmasına rağmen, aslında her tür web sunucusunu test etmek için kullanılabilir. Bu makalemizde, Apache Bench’i kullanma adımlarını ve bir web sunucusunun performansı hakkındaki raporunu nasıl yorumlayacağımızı gözden geçireceğiz.

Apache Bench, web sunucusuna değişen miktarlarda HTTP istekleri göndererek ve yanıt sürelerini kaydederek çalışır. Sunucunun bunalmadan ve performans düşmeden önce ne kadar sıkışıklıkla başa çıkabileceğini size söyleyebilir.

Bu makalede şunları öğreneceksiniz:

  • Apache Bench nasıl kurulur
  • Apache Bench nasıl kullanılır
  • Apache Bench Sonuçları nasıl yorumlanır?

Yazılım Gereksinimleri ve Kullanılan Kurallar

Yazılım Gereksinimleri ve Linux Komut Satırı Kuralları Kategori Gereksinimler, Kurallar veya Kullanılan Yazılım Sürümü Sistem Herhangi bir GNU / Linux Dağıtımı Yazılım ab Diğer Linux sisteminize kök olarak veya sudokomut aracılığıyla ayrıcalıklı erişim . Sözleşmeler # – verilen linux komutlarının ya doğrudan bir kök kullanıcı olarak ya da $sudo komutunun kullanılmasıyla root ayrıcalıklarıyla yürütülmesini gerektirir – verilen linux komutlarının normal bir ayrıcalıklı olmayan kullanıcı olarak yürütülmesini gerektirir

Apache Bench nasıl kurulur

Apache Bench, sisteminizin paket yöneticisi ile yüklenebilen apache2-utils paketinin bir parçasıdır.
Ubuntu ve diğer Debian tabanlı dağıtımlar için, apt-get komutunu kullanarak onu kurun:

apt-get install apache2-utils

CentOS / RHEL

dnf install httpd-tools

Apache Bench nasıl kullanılır

Apache Bench’i ab komutuyla kullanın. En temel sözdizimi şudur:

ab sunucucozumleri.com

Bu temel komut, herhangi bir ek seçenek olmadan özellikle kullanışlı değildir, bu yüzden bazılarını ekleyelim. Apache Bench’in pek çok seçeneği vardır, ancak en kullanışlı olanlardan bazıları şunlardır:

  • -n (sayı): ab’nin apache’ye göndermesi gereken istek sayısını belirtmek için kullanılır
  • -t (zaman aşımı): ab’nin ne kadar süreyle istek göndermeye devam edeceğini (saniye cinsinden) belirtmek için kullanılır
  • -c (eşzamanlı): ab’nin yapacağı eşzamanlı istek sayısını belirtmek için kullanılır

Web sunucunuz için daha gerçekçi trafiği simüle etmek ve çeşitli stres miktarlarında nasıl performans gösterdiğini gözlemlemek için bu seçeneklerle oynayabilirsiniz.

ab -t 10 -n 10000 -c 100 https://www.sunucucozumleri.com

Bu komut, web sunucumuzu 10 saniye boyunca kıyaslayacak, toplamda maksimum 10.000 istek gönderecek ve bu isteklerden 100 tanesini aynı anda gönderecektir.

Düşünceler

Apache Bench’i kullanırken göz önünde bulundurulması gereken birkaç nokta vardır. Bir sunucu saniyeler içinde tek bir kaynaktan binlerce HTTP isteği aldığında, birçok güvenlik duvarı bunu bir hizmet reddi saldırısı olarak yorumlayacak ve bir süre tekrarlanan bağlantıları engellemeye çalışacaktır.

Apache Bench’i yalnızca yerel bir ağda kullanmanızı ve kontrol ettiğiniz ana bilgisayarlara karşı test etmenizi öneririz. Yine de, bu gerçek trafiğin mükemmel bir simülasyonu değil.

Dünyanın herhangi bir yerindeki bir web sunucusuna bağlanırken, kullanıcılar farklı seviyelerde gecikme yaşar vehops(bağlantılarının web sunucusuna gittiği rota), web sitenizin algılanan hızında önemli roller oynar. Ayrıca, test makineniz (ab komutunu çalıştırdığınız sistem) bir darboğaz oluşturabilir.

Sisteminizin bu çok sayıda bağlantıyı başlatmak için gerekli kaynaklara sahip olmadığından şüpheleniyorsanız, ab testini yaparken CPU ve bellek kullanımını izlemek için top komutu kullanarak doğrulayabilirsiniz.

Bir Connection timed outhata alırsanız , bağlantılarınız muhtemelen bir güvenlik duvarı tarafından engellenmiştir veya Apache sunucusu aşırı yüklenmiştir ve başka istekleri karşılayamamıştır.

Apache Bench test sonuçları

Apache Bench, testini çalıştırmayı bitirdiğinde, sonuçları terminale çıkaracak ve şunun gibi görünmesi gerekir:

882 isteği tamamlandı Sunucu Yazılımı: Apache / 2.4.29 Sunucu Ana Bilgisayar Adı: — Sunucu Portu: 80 Belge Yolu: sunucucozumleri.com Belge Uzunluğu: 4878 bayt Eşzamanlılık Seviyesi: 100 Testler için geçen süre: 10.008 saniye Tamamlanan istekler: 882 Başarısız istekler: 0 Toplam aktarılan: 4480560 bayt Aktarılan HTML: 4302396 bayt Saniyedeki istek sayısı: 88,13 [# / sn] (ortalama) İstek başına süre: 1134,700 [ms] (ortalama) İstek başına süre: 11,347 [ms] (ortalama, tüm eşzamanlı istekler arasında) Aktarım oran: 437.20 [Kbyte / sn] alınan Bağlantı Süreleri (ms) min ortalama [+/- sd] medyan maks Bağlanma: 77327 1008,3 89 7240 İşleniyor: 87115 43,4 101807 Bekleme: 86112 39,1 100 604 Toplam: 168 442 1009,1 192 7373 Belirli bir süre içinde sunulan isteklerin yüzdesi (ms) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345100 % 7373 (en uzun istek)

Apache Bench sonuçlarını yorumlama

Yukarıdaki çıktı gerekli tüm bilgileri içerir; sonuçları anlamlandırmak için bu çeşitli metriklerin ne anlama geldiğini bilmeniz yeterlidir. Bu bölümde hepsinin üzerinden geçeceğiz.

İlk birkaç satır sadece web sunucusu hakkında genel bilgi verir. Yararlı bilgiler gerçekten Time taken for testssatırla başlar .

Testler için geçen süre, ab komutunun testini ne kadar sürede tamamladığını bildirir. Ab komutumuzda -n 10 belirttiğimiz için, bu satır açıkça testin 10 saniye sürdüğünü bildirecek. Bir zaman aşımı belirtmemişsek, bu satır size belirtilen sayıda istek göndermenin ne kadar sürdüğünü söyleyecektir.

Optimizasyonları web sunucunuza uyguladıktan sonra, testlerin tamamlanması için geçen sürede bir azalma görmelisiniz (bir zaman aşımı belirtmediğinizde).

Tam istekler , isteklerden kaçının başarıyla gönderildiğini ve geri döndüğünü bildirir.

Başarısız istekler isteklerden kaçının tamamlanamadığını bildirir. Belli ki çok küçük bir sayı, ideal olarak sıfır görmek isteyeceksiniz. Bu satır bazı başarısız istekleri bildirirse, bu, web sunucusunun aşırı kaldığını ve tüm isteklere zamanında yanıt veremediğini gösterebilir.

Toplam aktarılan ve HTML aktarılan satırlar, web sunucusuna bayt cinsinden ne kadar veri gönderildiğini bildirir.

Saniyedeki istek, web sunucusunun bir saniyede kaç isteğin işleyebildiğinin ortalamasıdır. Aynı anda birçok kullanıcı oturum açtığında web sunucunuzun nasıl performans göstereceğini belirlemede faydalıdır.

İstek başına sürebir isteği işlemek için ortalama ne kadar zaman gerektiğidir. Değerler milisaniye cinsinden verilmiştir, dolayısıyla bizim örneğimizde çıktımız zaman 1,1 saniyeydi. İkinci time per requestdeğer basitçe eşzamanlılık değeri ile çarpılır.

Aktarım hızı , yerel bir ağda herhangi bir darboğaz oluşturmaması gereken, veriyi ne kadar hızlı aktarabildiğidir. İnternet üzerinden test yapıyorsanız, yönlendirme ve bant genişliği sınırlamaları bu değeri Apache’nin kendisinden çok önce etkileyebilir. Bağlantı Times (ms) HTTP isteklerinin farklı aşamaları için bölüm listeleri yanıt süreleri.

Bağlantı Süreleri (ms) min ortalama [+/- sd] medyan maks Bağlanma: 77327 1008,3 89 7240 İşlem: 87115 43,4 101807 Bekleme: 86112 39,1 100 604 Toplam: 168442 1009,1 192 7373

Connect , ab ile web sunucusuyla bağlantı kurmanın ne kadar zaman aldığını gösterir.

İşleme , Apache’nin istekleri işlemek için harcadığı süredir. Ab bunu gerçekten ölçemediği için, bir bağlantının başlatıldıktan sonra açık kaldığı süreyi kaydeder.

Bekleme , ab’nin bir istek gönderme ile web sunucusundan bir yanıt alma arasında ne kadar beklemesi gerektiğidir.

Toplam , sunucuyla bir bağlantı başlatma, bir yanıt alma ve son olarak bağlantının kapatılması arasında geçen toplam süreyi gösterir.

Apache Bench’in son ölçüsü, bağlantı sürelerini yüzdelik dilimlere ayırarak web sunucusunun ortalama yanıt süresine daha kesin bir bakış sunar.

Belirli bir süre içinde sunulan taleplerin yüzdesi (ms) 50% 192 66% 202 75% 224 80% 268 90% 428 95% 1207 98% 3208 99% 7345100 % 7373 (en uzun istek)

Yukarıdaki örnek çıktımızda, HTTP isteklerinin% 50’si yalnızca 192 ms veya daha kısa sürede işlendi ve kapatıldı. Bu rapor aynı zamanda 7 saniye süren yanıtların (bunlardan sadece iki tanesi var) aykırı değerler olduğunu ve bu da connection times raporu daha az endişe verici hale getirdiğini gösterir . HTTP isteklerimizin% 90’ı yarım saniyeden daha kısa sürede işlendi.

Sonuç

Bu makalede Apache Bench’in nasıl kurulacağını ve bir web sunucusunun performansını test etmek için nasıl kullanılacağını gördük. Ayrıca, Apache Bench’in çıktısını nasıl yorumlayacağımızı da öğrendik, bu da darboğazların nerede olduğunu belirlememize izin verdi.
Web sunucunuzu daha fazla optimize ettikten sonra, Apache Bench’i tekrar çalıştırın ve gerçekten iyileştirmeler yapılmışsa daha iyi performans sonuçları görmeyi bekleyin.

Kaynak : https://blog.sunucucozumleri.com/515-web-sunucusunu-apache-bench-ile-kiyaslama.html

Yorumlar

Yorumlar (Yorum Yapılmamış)

Yazı hakkında görüşlerinizi belirtmek istermisiniz?

Dikkat! Suç teşkil edecek, yasadışı, tehditkar, rahatsız edici, hakaret ve küfür içeren, aşağılayıcı, küçük düşürücü, kaba, pornografik, ahlaka aykırı, kişilik haklarına zarar verici ya da benzeri niteliklerde içeriklerden doğan her türlü mali, hukuki, cezai, idari sorumluluk içeriği gönderen Üye/Üyeler’e aittir.

Benzer Haberler

İlginizi çekebilir