meta données pour cette page
  •  

Benchmark d'un site web

Pour approuver l'efficacité des installations web, il faut faire des bench qui vont permettre de confirmer la bonne conduite de ces services.

Locust

Nous allons utiliser Locust qui permet de de générer des requêtes de type GET. Via un script, on peut simuler le comportement d'un utilisateur. Pour en savoir plus : https://docs.locust.io/en/latest/quickstart.html

pip install locust

On rédige le client qui va simuler les actions d'un utilisateur via le script locustfile.py

# ulimit -n 10000
 
import time
from locust import HttpUser, task, between
 
    class QuickstartUser(HttpUser):
    wait_time = between(1, 5)
    host = 'https://domain.com'
    port = 443
 
    @task(2)
    def get_shop(self):
        self.client.get("/")
    @task(4)
    def get_accueil(self):
        self.client.get("/accueil")
    @task(6)
    def get_pendentif(self):
        self.client.get("/shop/vcp20221211-hematite-pendants-1")
    @task(8)
    def get_article1(self):
        self.client.get("/shop/20221201-grand-dragon-bleu-avec-cristaux-8")
 
#    @task(3)
#    def view_items(self):
#        for item_id in range(10):
#            self.client.get(f"/item?id={item_id}", name="/item")
#            time.sleep(1)
#
#    def on_start(self):
#        self.client.post("/login", json={"username":"foo", "password":"bar"})

On execute la commande suivante dont le paramètre host doit être le serveur cible :

locust

Ainsi, depuis la page http://localhost:8089 on pourra déclarer le nombre de clients à simuler.