IIS Performans Testi (Wcat)
Merhaba Teknolojik Blog Okurları,
Bu yazımda sizlere IIS ( internet information ) Sunucusuna nasıl yük testi uygulanacağınızdan bahsetmeye çalışacağım.
Test için microsoft’un aracı olan Wcat’i kullanacağız. güncel sürümü buradan indirebilirsiniz : http://www.iis.net/downloads/community/2007/05/wcat-63-(x86)
Ugulamayı bilgisayarınıza kurduğunuzda Program files altında wcat isminde bir klasör oluşacak bu klasör altındaki araçları Komutsatırında kullanacağız.
test işlemlerine başlamadan önce iki adet konfigürasyon dosyası hazırlayıp bunu wcat klasörü altına kaydedeceğiz.
Text editör ile bir dosya açıp scenario.ubr şeklinde bir dosya oluşturun.
İçine : IIS URL kısmını siz kendi sitenizin urlsi ile değiştirin ) ben lokal IIS kullanıyorum .. ( örneğin : http://www.deneme.com/index.php veya html sizde index sayfası ne ise. asp.php vs.
scenario
{
warmup = 30;
duration = 120;
cooldown = 100;
transaction
{
id = “IIS Test”;
weight = 1000;
request
{
url = “localhost/iisstart.htm“;
}
}
}
yukarıdaki kodu yapıştırıp kaydedelim. Ben anlık 1000 kullanıcı yükleyeceğim bu değeri weight değiştirerek yük seviyesini azaltıp çoğaltabilirsiniz.
İkinci dosyamız ise ayarlar : yine settings.ubr isminde bir dosya oluşturun ( bunu text editörle oluşturup uzantısını ubr yapıyorsunuz.)
Dosyanın içine : ( server ip sini siz kendinize göre değiştirin.)
settings
{
clientfile = “scenario.ubr”;
server = “10.137.68.5“;
clients = 1;
virtualclients = 100;
counters
{
interval = 10;
counter = “Processor(_Total)\\% Processor Time”;
counter = “Processor(_Total)\\% Privileged Time”;
counter = “Processor(_Total)\\% User Time”;
counter = “Processor(_Total)\\Interrupts/sec”;
counter = “Memory\\Available KBytes”;
counter = “Process(w3wp)\\Working Set”;
counter = “System\\Context Switches/sec”;
counter = “System\\System Calls/sec”;
counter = “Web Service(_Total)\\Bytes Received/sec” ;
counter = “Web Service(_Total)\\Bytes Sent/sec” ;
counter = “Web Service(_Total)\\Connection Attempts/sec” ;
counter = “Web Service(_Total)\\Get Requests/sec” ;
}
}
yapıştırıp kaydediyoruz.
evet wcat klasörümüzde artık iki adet dosyamız oldu.
Şimdi komutlarımızı çalıştırabiliriz.
Önce test edeceğimiz IIS sunucusundan wcat serverı çalıştırıyoruz. Wcat uygulamasını sunucuya da kuruyoruz tabiiki ayar dosyalarını buraya kurmanız gerekmiyor.
ben kendi ip adresimi yazıyorum siz kendi ip adresiniz ile değiştiriceksiniz.
wcclient.exe 10.137.68.5 -b
Server kısmı ok.
Şimdi config dosyalarını kurduğumuz client’a geçiyoruz ve testi başlatıyoruz.
komut satırından: (Wcat klasöründe olmanız gerekiyor )
wcctl.exe -t scenario.ubr -f settings.ubr -s 10.137.68.5 –singleip -extended
yadığınızda server kısnımda ve client tarafında aynı anda test işleminin başladığını göreceksiniz.
Aynı anda test ettiğiniz makinanın task manager’ından CPU kullanımına bakarsanız %100 lerde sabit kaldığını görürsünüz. tabi benim task mgr listeme göre anlık 1000 kullanıcı yüklendiğinde makinamın kilitlendiğinini görüyoruz :))
test bitene kadar CPU maximum seviyede kalıyor. Güçlü bir web sunucusunun sınırlarının ne olduğunu bu şekilde anlayabilirsiniz.
Teşekkürler,
teknolojik-blog.Com
Aziz Ozdemiroglu