Siege Benchmarking Aracıyla Web Sunucularının Yük Testi


Web sunucunuzun stres altındayken ne kadar trafiği kaldırabileceğini bilmek, web sitenizin veya uygulamanızın gelecekteki büyümesini planlamak için çok önemlidir. siege adlı aracı kullanarak sunucunuzda bir yük testi çalıştırabilir ve sisteminizin farklı koşullar altında nasıl performans gösterdiğini görebilirsiniz.

Aktarılan veri miktarını, yanıt süresini, işlem oranını, verimi, eşzamanlılığı ve sunucunun kaç kez yanıt döndürdüğünü değerlendirmek için kuşatma'yı kullanabilirsiniz. Aracın çalışabileceği üç modu vardır: regresyon, internet simülasyonu ve kaba kuvvet.

Önemli: Siege yalnızca sahip olduğunuz sunucularda veya test etmek için açık izne sahip olduğunuz sunucularda çalıştırılmalıdır. Bazı ülkelerde yetkisiz web sitelerini kuşatmak suç olarak kabul edilebilmektedir.

Linux'ta Siege HTTP Yük Testi Yardımcı Programını Yükleme

Siege çok platformludur ve aşağıdaki komutlar kullanılarak Ubuntu/Debian ve CentOS/RHEL dağıtımları altına kurulabilir.

Siege'i Debin/Ubuntu altında yüklemek için şunu çalıştırabilirsiniz:

sudo apt install siege

CentOS/RHEL için kuşatmayı aşağıdakilerle kurmak üzere depoyu kurmanız ve etkinleştirmeniz gerekir:

yum install epel-release
yum install siege

Alternatif olarak Kuşatma'yı kaynaktan da oluşturabilirsiniz. Bu amaçla build-essential ve geliştirme paketlerinin kurulu olması gerekir.

sudo apt install build-essential       #Ubuntu/Debian
yum groupinstall 'Development Tools'   #CentOS/RHEL

Daha sonra wget komutunu kullanarak Siege'i indirebilir ve gösterildiği gibi kaynaklardan kurabilirsiniz.

wget http://download.joedog.org/siege/siege-latest.tar.gz
tar -zxvf siege-latest.tar.gz
cd siege-*/
sudo ./configure --prefix=/usr/local --with-ssl=/usr/bin/openssl
sudo make && make install

Linux'ta Siege HTTP Yük Testi Yardımcı Programını Yapılandırma

Kurulumu tamamladıktan sonra siege yapılandırma dosyanızı ayarlayabilirsiniz. /etc/siege/siegerc konumunda bulunur. Paketi kaynaktan oluşturmaya karar verdiyseniz aşağıdakileri çalıştırmanız gerekir:

sudo siege.config

Bu, kullanıcının evinde ~/.siege/siege.conf bulunan siege.conf dosyasını oluşturacaktır.

Dosyanın içeriği buna benzer bir şeye benzemelidir. logfile ve time yönergelerinin açıklamasını kaldırdığımı unutmayın:

cat siegerc |egrep -v "^$|#"
Örnek Çıktı
logfile = $(HOME)/var/log/siege.log
verbose = false
color = on
quiet = false
show-logfile = true
logging = false
gmethod = HEAD
parser = true
nofollow = ad.doubleclick.net
nofollow = pagead2.googlesyndication.com
nofollow = ads.pubsqrd.com
nofollow = ib.adnxs.com
limit = 255
protocol = HTTP/1.1
chunked = true
cache = false
connection = close
concurrent = 25
time = 1M
delay = 0.0
internet = false
benchmark = false
accept-encoding = gzip, deflate
url-escaping = true
unique = true

Mevcut yapılandırmayla siege, 1 dakika içinde 25 eşzamanlı kullanıcıyı taklit edecek.

Artık kuşatmayı yürütmeye hazırsınız.

Siege Benchmarking Utility ile Web Sitesi Yükünü Test Etme

siege'yi çalıştırmak oldukça kolaydır; test etmek istediğiniz web sitesini şu şekilde belirtmeniz yeterlidir:

siege example.com

Kullanılabilirlik %100 seviyesinde kalırsa ve başarısız bağlantı yoksa sisteminiz iyi performans göstermiştir ve herhangi bir sorun yaşanmamıştır. Ayrıca tepki süresine de dikkat etmelisiniz.

Birden Fazla Web Sitesine Karşı Kuşatmayı Çalıştırın

Dosyadan okumak için kuşatma ayarını yaparak birden fazla URL'yi test edebilirsiniz. URL'leri /usr/local/etc/urls.txt dosyasında şu şekilde tanımlayabilirsiniz:

Şimdi siege'e dosyadaki URL'leri test etmesini söylemek için -f seçeneğini şu şekilde kullanın:

siege -f /usr/local/etc/urls.txt

Yapılandırma dosyasında açıklananlardan farklı ayarları denemek istiyorsanız komut satırı seçeneklerini de kullanabilirsiniz.

  • -C – kendi yapılandırma dosyanızı belirtin.
  • -q – kuşatmanın çıktısını bastırır.
  • -g – GET, HTTP başlıklarını aşağı çekin ve işlemi görüntüleyin. Hata ayıklamak için kullanışlıdır.
  • -c – eşzamanlı kullanıcı sayısı, varsayılan 10'dur.
  • -r – testin kaç kez çalıştırılacağı.
  • -t – testin çalıştırılacağı süre. S, M veya H ex belirtebilirsiniz: –time=10S, 10 saniye boyunca.
  • -d – her istekten önce rastgele gecikme.
  • -b – istekler arasında gecikme olmaz.
  • -i – kullanıcı simülasyonu. Rastgele URL'lere ulaşmak için kullanılır.
  • -f – belirtilen dosyadaki URL'leri test eder.
  • -l – günlük dosyası.
  • -H – İsteğe bir başlık ekleyin.
  • -A – bir kullanıcı aracısı belirtin.
  • -T – İstekteki İçerik Türünü ayarlar.
  • --no-parser – AYRIŞTIRICI YOK, HTML sayfa ayrıştırıcısını kapatın.
  • --no-follow – HTTP yönlendirmelerini takip etmeyin.
Çözüm

Siege, yüksek yük altında sistem güvenilirliğinizi ölçmek için güçlü bir araçtır. Web geliştiricileri tarafından, site baskı altındayken kodlarını test etmek için kullanılabilir. Değerlendirme sırasında test edilen sunucuya erişilemeyebileceği için testlerinizi her zaman dikkatli çalıştırmalısınız.