Adım Adım Locust ile web site stress testi nasıl yapılır. - R10.net
  • 08-07-2020, 10:20:25
    #1
    Docker üzerinde Locust ile stress testi nasıl yapılır ?
    Merhaba bu yazımda çok sık kullandığım ve uygulamalarımın sürekli stress testlerini yaptığım Locust yazılımını docker üzerinde nasıl çalıştırıp testleri yapacağınızı anlatacağım.
    Öncelikle bu işlemleri yapabilmek için bilgisayarınızda veya bu aracı kurmak istediğiniz makinada docker kurulu olması gerekiyor kurulu ise aşağıdaki işlemlere başlayabiliriz.
    Öncelikle test yapacağımız site için hangi adreslere nasıl bir metodla istekler atılacağını hazırlayalım.
    Aşağıdaki kodlarda 2 farklı adrese get isteği göndereceğimizi belirliyoruz. dosyamızı test.txt olarak kaydedip ftp aracılığı ile sitemize yüklüyoruz.
    self.client.get(“/yeni-gelenler”) bu alanları kendinize göre düzenlemeniz gerekiyor aksi taktirde 404 hataları alırsınız ve yapmış olduğunuz test doğru sonuçlar vermez


    from locust import HttpLocust, TaskSet, task
    class UserBehavior(TaskSet):
    @task(2)
    def red5(self):
    self.client.get(“/yeni-gelenler”)
    @task(1)
    def backtrack(self):
    self.client.get(“/”)
    class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait=5000
    max_wait=9000
    Test Dosyamızı hazırladıktan sonra docker imajını indirip kurulumu yapıyoruz.

    Kurulumdan önce değiştirmeniz gereken yerler :

    LOCUST_LOCUSTFILE_URL=’http://www.example.com/test.txt'
    Buraya ftp ye yüklediğimiz dosyanın yolunu yazıyoruz.

    LOCUST_TARGET_HOST=’https://www.example.com'
    Buraya ise testleri yapacağımız sitenin adresini yazıyoruz.

    Bu alanları düzenledikten sonra enter ile konteyneri kurulumu için entere basmamız yeterli.

    docker run -d -p 8089:8089 -e LOCUST_LOCUSTFILE_URL=’http://www.example.com/test.txt' -e LOCUST_TARGET_HOST=’https://www.example.com' — name locust peterevans/locust:latest
    Kurulum bittikten sonra http://ipadresi:8089 ile Locust arayüzüne erişeceğiz ve karşımıza aşağıdaki gibi bir ekran gelecek.

    [IMG]https://miro.medium.com/max/473/1*gsHuf2F_wuudutm96vZWdg.png[/IMG]


    Resimdeki alanlarda ilk alan olan
    Number of total users to simulate alanı toplam kaç kullanıcı gönderileceğini belirtiyoruz.
    Hatch rate (users spawned/second) : Saniyede toplam kaç kullanıcı eklenecek stress testine
    Host : hangi urle bu isteklerin yapılacağını set edip start swarming butonuna bastıktan sonra istekler gitmeye başlayacak olup.
    Karşınıza aşağıdaki gibi bir ekran gelecek.

    [IMG]https://miro.medium.com/max/1631/1*m1NvkGoATESOXuNfrPUpqw.png[/IMG]




    bu alanda statistics alanında ilgili url e toplam kaç istek atılmış kaç istek başarılı kaç istek başarısız isteklere dönüş süresi gibi bilgileri alabilir Download data altından bu verileri csv formatında indirebilirsiniz.
    Farktör Yazılım Software Developer & System Administrator Internetabi.Com Co-Founder
  • 09-07-2020, 15:42:00
    #2
    Paylaşımın için teşekkür ederim hocam

    Internetabi adlı üyeden alıntı
    Docker üzerinde Locust ile stress testi nasıl yapılır ?
    Merhaba bu yazımda çok sık kullandığım ve uygulamalarımın sürekli stress testlerini yaptığım Locust yazılımını docker üzerinde nasıl çalıştırıp testleri yapacağınızı anlatacağım.
    Öncelikle bu işlemleri yapabilmek için bilgisayarınızda veya bu aracı kurmak istediğiniz makinada docker kurulu olması gerekiyor kurulu ise aşağıdaki işlemlere başlayabiliriz.
    Öncelikle test yapacağımız site için hangi adreslere nasıl bir metodla istekler atılacağını hazırlayalım.
    Aşağıdaki kodlarda 2 farklı adrese get isteği göndereceğimizi belirliyoruz. dosyamızı test.txt olarak kaydedip ftp aracılığı ile sitemize yüklüyoruz.
    self.client.get(“/yeni-gelenler”) bu alanları kendinize göre düzenlemeniz gerekiyor aksi taktirde 404 hataları alırsınız ve yapmış olduğunuz test doğru sonuçlar vermez


    from locust import HttpLocust, TaskSet, task
    class UserBehavior(TaskSet):
    @task(2)
    def red5(self):
    self.client.get(“/yeni-gelenler”)
    @task(1)
    def backtrack(self):
    self.client.get(“/”)
    class WebsiteUser(HttpLocust):
    task_set = UserBehavior
    min_wait=5000
    max_wait=9000
    Test Dosyamızı hazırladıktan sonra docker imajını indirip kurulumu yapıyoruz.

    Kurulumdan önce değiştirmeniz gereken yerler :

    LOCUST_LOCUSTFILE_URL=’http://www.example.com/test.txt'
    Buraya ftp ye yüklediğimiz dosyanın yolunu yazıyoruz.

    LOCUST_TARGET_HOST=’https://www.example.com'
    Buraya ise testleri yapacağımız sitenin adresini yazıyoruz.

    Bu alanları düzenledikten sonra enter ile konteyneri kurulumu için entere basmamız yeterli.

    docker run -d -p 8089:8089 -e LOCUST_LOCUSTFILE_URL=’http://www.example.com/test.txt' -e LOCUST_TARGET_HOST=’https://www.example.com' — name locust peterevans/locust:latest
    Kurulum bittikten sonra http://ipadresi:8089 ile Locust arayüzüne erişeceğiz ve karşımıza aşağıdaki gibi bir ekran gelecek.

    [IMG]https://miro.medium.com/max/473/1*gsHuf2F_wuudutm96vZWdg.png[/IMG]


    Resimdeki alanlarda ilk alan olan
    Number of total users to simulate alanı toplam kaç kullanıcı gönderileceğini belirtiyoruz.
    Hatch rate (users spawned/second) : Saniyede toplam kaç kullanıcı eklenecek stress testine
    Host : hangi urle bu isteklerin yapılacağını set edip start swarming butonuna bastıktan sonra istekler gitmeye başlayacak olup.
    Karşınıza aşağıdaki gibi bir ekran gelecek.

    [IMG]https://miro.medium.com/max/1631/1*m1NvkGoATESOXuNfrPUpqw.png[/IMG]




    bu alanda statistics alanında ilgili url e toplam kaç istek atılmış kaç istek başarılı kaç istek başarısız isteklere dönüş süresi gibi bilgileri alabilir Download data altından bu verileri csv formatında indirebilirsiniz.
    #MCP #MCITP #Linux Expert #DevOps