performans test | Mahsum Akbaş Blog – Test Mühendisliği & Yeni Medya
Tag Archives: performans test
Linux üzerinde performans testi – File Descriptor limit problemi
Herkese selamlar. Yaptığım bir performans testi sırasında yaşadığım bir linux deneyimini sizlerle paylaşmak istiyorum. Testi yaptığım uygulama, yapısı itibarıyla birçok yere socket bağlantısı yapıyor ve birçok dosya okuma-yazma işlemi yapıyordu. Test sırasında, bir çeşit “File not open” hatası aldım ve loglarda birçeşit dosya açma limitinden bahsediyordu. Biraz Google araştırması sonucu sorunun kaynağını bulduk.
Unix/linux kullanıcılarının bildiği üzere, işlem yapılan hemen hemen herşey düz metin dosyadır.(compile edilmiş binary dosyalar haricinde). Bu dosyalar, çeşitli işlemlerle çalıştırılabilir şekle geliyor. Ama her zaman özünde metin dosyasıdır. Mesela, bir bağlantı açılacaksa bir socket dosyası açılır/yazılır. Örneğin, mysql bağlantısı için /tmp/mysql.sock dosyası açılır.
İşte tam bu noktada ortaya şöyle bir durum çıkıyor. Linux’te bir processin işleyebileceği dosya sayısı (teknik tanımıyla: File Descriptors) konfigure edilebilir bir şekilde ayarlanıyor.
Öncelikle, bir processin o an işlediği dosyaları görmek için pfiles komutu kullanılır. Continue reading →
This entry was posted in Linux and tagged Linux, performance test, performans test, pfiles, ulimit on January 24, 2012 by admin.
OpenSTA(Open System Testing Architecture) C++ ile yazılmış bir web performans aracıdır. Yazılımın mimarisinde, distrubuted System ve CORBA üzerine inşa edilmiş. OpenSTA ile, Web uygulamarının(http/https) performans testleri yapılabilir. Programın altında yatan mantık ise, uygulamaya sanal kullanıcılar ile bağlanmak ve böylece sayfalara yük oluşturmak. OpenSTA ile uygulamalara hem performans hemde stress-yük testi(tekrarlı/devamlı performan) yapılmasına olanak sağlıyor. Bununla beraber OpenSTA, aynı test daha gerçekçi ve sağlıklı sonuçların alınması için, farklı makinalardan da yük basılmasına izin verir ve bunun için özel bir yönetim sistemi mevcuttur.
OpenSTA, test sırasında birçok farklı işlemi yapmaya olanak sağlayan bir script diline sahiptir. Çoğu zaman scripti kaydettikten sonra yapamadığımız bu işlemleri, script ile kolaylıkla yapabiliriz. Ayrıca, hiç script dilini bilmeden dahi, test senaryosu kaydedilebilir. OpenSTA, test sonunda sonuçları analiz etmek açısından çok faydalı ve kullanışlı birok rapor oluşturuyor. Alınan/gönderilen veri miktarından, oluşan hatalara ve ayrıntılı cevap sürelerine kadar birçok rapor hem gösel hemde sayısal olarak oluşturulur. Bu veriler, ayrıca Excel gibi harici bir programa d aktarılabilir.
OpenSTA bu adresten indirilebilir.
1-Test Senaryosu oluşturma:
OpenSTA yüklendikten sonra, Start->Programs’dan OpenSTA altında, “OpenSTA Commander” tıklanır.
Çıkan ekranda sol tarafta, Scripts ikonuna sağ tıklanır ve New Script -> HTTP seçilir. Daha sonra scripte isim verilir.
Örnekte google ismini verdik. Oluşturduğumuz bu scripte çift tıklıyoruz. Böylece senaryo oluşturma ekranı karşımıza gelir.
Resimde Görüldüğü üzere 1 numaralı buton, senaryo kaydetmemizi sağlıyor. Butona bastığımızda, karşımıza bir Internet Explorer penceresi açılır ve test yapmak istediğimiz sayfanın adresini yazıp, yapmak istediğimiz tüm adımları yaparız. Bu işlem bittikten sonra, 2 numaralı butona tıklıyoruz. Bu buton, kaydı bitiriyor. O arada, Kaydı bitirmeden önce, kayda ara vermek istenirse, 3 numaralı buton kullanılabilir. Kayıt işelmi başarılı bir şekilde bittikten sonra, sol tarafta sistem tarafından, yapılan işlemlerle ilgili olarak otomatikmen bir script oluşturulur. Eğer daha sonradan script üzerinde bir oynanma yapılırsa, sözdizim (syntax) kontrolu gerçekleştirmek için 5 numaralı Syntax Check butonu kullanılabilir. Eğer scriptinizin ve senaryonuzun hazır olduğunu düşünüyorsanız, öncesinden bir kontrole ne dersiniz? bunun için 4 numaralı Replay butonunu kullanabilirsiniz. Butona tıkladığınızda, scriptinizi çalıştırırve gerekli mesajları alt tarafta verir. Eğer buraya kadar herhangi bir problem ve sorun çıkmadıysa, senaryomuz başarılı bir şekilde kaydedilmiş demektir. projemizi kaydetmek için, yukarda File Menusunden Save yapılır. Ve bu ekran ile işimiz bittiği için ekranı kapatabiliriz. Şimdi sıra geldi test çalıştırmaya.
2- Test Çalıştırma:
Test senaryosunu kaydettikten sonra Test Commander ekranına geri dönülür. Test ikonuna sağ tıklanır ve sırasıyla New Test -> Tests tıklanır.
Test oluşturma ekranı açılır.
1 numaralı buton, testimizi kontrol etmek için compile etmesini sağlarken, 2 numaralı buton teste başlanılmasını ve 3 numarlı butonda testi manuel olarak sonlandırılmasını sağlıyor.
Daha öce oluşturulmuş olan test senayosu fareyle Task1 sütununa taşınır.
Bu işlemden sonra sanal kullanıcı sayıları ve iterasyon işlemleri yapılır. Ekranda Vus yazan sütündaki kısım, sanal kullanıcı sayısının ayarlandığı kısımdır. Bunun için Vus butonuna tıkladığımızda alt tarafta ayarlar penceri açılır.
Resimde görülen 1 numaralı işaretli yere, kullanacağımız Virtual User(sanal kullanıcı) sayısını yazıyoruz. Alttaki iki seçenek olan 2 numaralı alanlar ise daha sonradan oluşturulacak raporlarda kaç kullanıcının saonuçlarını göstermek istendiğine dair sayılardır. Bu sayılar sanal kullanıcı sayısından az olabilir ve haliyle fazla olamaz.
Üst taraftaki ayarlardan olan Start sekmesinde ise, testin ne zaman başlayıp ne zaman bitirilmesi gerektiğini ayarlayabiliyoruz. İstersek belli bir iterasyondan sonra, istersek belli bir süre tanımlayabiliriz. Task kısmında da, her bir kullanıcın işemi kaç defa tekrarlayacağı(iterasyon) ve iterasyonlar arası zaman ayarlanabilir.
Bütün ayarlar yapıldıktan sonra, en üst tarafta bulunan yeşil renkl “Start Test” butonuna tıklanır.
3- Sonuçların Görüntülenmesi ve Raporlama:
Test işlemi bittikten sonra sonuç ve raporlara “Results” bölümünden ulaşılabilir.
Sağ tarafta, yapılan testlerin raporları görünür. herhangi bir tanesine tıkladığımızda, sonuçlar ile ilgili bir liste açılır. Sonuçlarını görmek istediğimiz bilgi/grafik için, yanındaki checkbox işaretlenir ve böylece grafik orta alanda karşımıza çıkar. Böylece bakmak istenilen grafiğe tıklanarak görüntülenebilir..
Sonraki yazılar: Dataların parametrize edilmesi ve ayrıntılı işlemler.
This entry was posted in OpenSTA and tagged load test, OpenSTA, performans test, scl, stress test, Test, test engineering on January 8, 2008 by admin.