images

Siege ile Web Sunucularınızı Test Edin

Siege web sunucularınıza ağır yük bindirildiğinde ne gibi bir durumla karşılaşacağınızı görmenize olanak sağlayan HTTP yük test etme ve kıyaslama programıdır. Transfer edilen veriyi, sunucu cevap süresini, işlem hızı, çıktı ve eşzamanlılık değerlerini hesaplar. Siege üç işlem modu sunuyor: internet simülasyonu, brute force ve regresyon(regression, türkçe karşılığını bilemedim).

Bu rehber Debian veya Ubuntu sistemler için hazırlanmıştır.

Siege’i İndirin ve Ayarlarını Yapın

  1. Sisteminizi güncelleştirin. Bunu her yeni yazılımdan önce yapmanızı tavsiye ediyorum.
    sudo apt-get update && sudo apt-get upgrade --show-upgraded
  2. Siege’nin son versiyonunu indirin(3.1.0 şu anda), Siege’nin websitesinden de her zaman indirebilirsiniz.
    wget http://download.joedog.org/siege/siege-latest.tar.gz
  3. Dosyaları çıkartın:
    tar -zxvf siege-latest.tar.gz
  4. Siege dizinine gelin:
    cd siege-*/
  5. Eğer GNU Compiler Collection(gcc) kurulu değilse şimdi onu kurun. Eğer kuruluysa bu adımı atlayın:
    sudo apt-get install build-essential
  6. Configure yapın ve kurulumu tamamlayın:
    ./configure
    make
    sudo make install
  7. Bir ayar dosyası oluşturun:
    siege.config
  8. .siegerc dosyasını bulun ve açın.
  9. Siege’nin Tavsiye edilen kalıcı bağlantı sayısı 25’dir. Ayar dosyamızı da böyle yazalım. Loglarımızın kaydedileceği yeri tanımlayalım. Aşağıdaki ayar dosyasında gerekli yerleri kendi isteklerinize göre ayarlayın:.siegerc dosyasının bir kısmı:
    ...
    
    #
    # Variable declarations. You can set variables here
    # for use in the directives below. Example:
    # PROXY = proxy.joedog.org
    # Reference variables inside ${} or $(), example:
    # proxy-host = ${PROXY}
    # You can also reference ENVIRONMENT variables without
    # actually declaring them, example:
    logfile = $(HOME)/siege.log
    
    ...
    
    #
    # Default number of simulated  concurrent users
    # ex: concurrent = 25
    #
    concurrent = 25
    
    #
    # Default duration of the siege.  The right hand argument has
    # a modifier which specifies the time units, H=hours, M=minutes,
    # and S=seconds. If a modifier is not specified, then minutes
    # are assumed.
    # ex: time = 50M
    #
    time = 1M

Siege kurulumu bitti. Artık kullanmak için hazırsınız.

Siege’i Çalıştırın

Siege’i varsayılan ayarlarla çalıştırmak için aşağıdaki komutu kullanıyoruz. Biz bu örnekte www.trkodlama.com adresini çalıştıracağız:

siege www.trkodlama.com

Siege size şöyle bir çıktı verecektir:

** SIEGE 2.70
** Preparing 25 concurrent users for battle.
The server is now under siege...
Lifting the server siege...      done.
Transactions:		        2913 hits
Availability:		      100.00 %
Elapsed time:		       59.51 secs
Data transferred:	        0.41 MB
Response time:		        0.00 secs
Transaction rate:	       48.95 trans/sec
Throughput:		        0.01 MB/sec
Concurrency:		        0.04
Successful transactions:        2913
Failed transactions:	           0
Longest transaction:	        0.01
Shortest transaction:	        0.00

FILE: /var/log/siege.log
You can disable this annoying message by editing
the .siegerc file in your home directory; change
the directive 'show-logfile' to false.

Eğer bir bağlantı hatası yoksa ve availability satırı 100.00% şeklindeyse yapılan testi sunucunuzun başarı ile geçtiğini anlayabilirsiniz.

Siege Komutları

Siege ayar dosyanızdan farklı ayarlarla çalışmanız için bazı komutlarımız var:

  • -c [num]: Kalıcı bağlantı sayısını ayarlar. Bir çok web sitesinin genelden 200ün altındadır bu değer.
  • -t [num]: Siege’i çalıştırdığınızda süre limitini ayarlar. saniyeler için s, dakikalar için m ve saatler için h kullanılır. Bu ayarda aralarda boşluk olmaması önemlidir. Yani –t10s doğru bir kullanımken t 10s yanlıştır.
  • -d [num]: Siege kullanıcıları için gecikmeyi ayarlar. Bu gecikme süresi 1 ile ayarlanan sayı arasındadır. Varsayılan değer 3‘tür.
  • -l: Bir kayıt dosyası oluşturulmasını sağlar.
  • -C: Siege’in o anki ayarlarını görüntüler.
  • -V: Siege’in versiyonunu yazdırır.
  • -h: Yardım dökümanını gösterir.

Daha Fazla Bilgi?

Daha fazla bilgiye mi ihtiyaç var? Daha fazla bilgi için Siege sitesini ziyaret edebilirsiniz. Umarım işinize yarar :)

 

Post Author: Oral ÜNAL

Web geliştirmeyi başta meslek olarak hayal eden fakat daha sonra bir hobi haline getiren birisiyim işte.

Yorum yazma sırası sizde!