{"id":18358974,"url":"https://github.com/apollossc/testdecharge","last_synced_at":"2026-02-23T08:33:39.655Z","repository":{"id":80484974,"uuid":"460782972","full_name":"ApolloSSC/TestDeCharge","owner":"ApolloSSC","description":null,"archived":false,"fork":false,"pushed_at":"2022-02-18T13:25:53.000Z","size":83,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-10-26T17:48:29.649Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ApolloSSC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-18T09:10:46.000Z","updated_at":"2022-02-18T13:32:20.000Z","dependencies_parsed_at":"2023-03-12T11:08:41.675Z","dependency_job_id":null,"html_url":"https://github.com/ApolloSSC/TestDeCharge","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ApolloSSC/TestDeCharge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApolloSSC%2FTestDeCharge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApolloSSC%2FTestDeCharge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApolloSSC%2FTestDeCharge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApolloSSC%2FTestDeCharge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ApolloSSC","download_url":"https://codeload.github.com/ApolloSSC/TestDeCharge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApolloSSC%2FTestDeCharge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29740017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-05T22:20:15.692Z","updated_at":"2026-02-23T08:33:39.605Z","avatar_url":"https://github.com/ApolloSSC.png","language":"Dockerfile","readme":"# Test de charge pour application NetCore/Net6 (mais pas que !)\n\nLe but de ce repo est de proposer un ensemble d'outils sous Docker pour mesurer les performances de votre application sous différents scénario de charge.\n\n## Les outils\n### Monitor\nPermet de mesurer les différentes métriques de votre application et les mettre à disposition en tant qu'API.\nPour plus d'informations: https://devblogs.microsoft.com/dotnet/announcing-dotnet-monitor-in-net-6/\n\n### Prometheus\nPermet d'agréger des données de différentes sources.\nhttps://prometheus.io/\n\n### Grafana\nPermet de visualiser des métriques grâce à des dashboards facilement personnalisables.\nhttps://grafana.com/\n\n### JMeter\nPermet de simuler une charge utilisateur selon des plans de test.\nhttps://jmeter.apache.org/\n\n### Docker\nPermet de conteneuriser des applications afin de s'abstraire de l'infrastructure sur lesquelles elles fonctionnent.\n\n## Configurer l'environnement\n\n### docker-compose.yml\nVous devez décommenter la partie **app** et renseigner l'image de votre application\n\nElle doit exposer le port 80.\n\nChanger le **ASPNETCORE_ENVIRONMENT** au besoin.\n\n## Lancer l'environnement\n`docker-compose up -d`\n\n## Vérifier que tout fonctionne\nLes identifiants de connexion se trouvent dans le **docker-compose.yml**\n### Votre application\nhttp://localhost:15000/\n### Monitor\nhttp://localhost:52325/metrics\n### Prometheus\nhttp://localhost:9090/targets\n\nLa target **monitor** doit être UP.\n### Grafana\nhttp://localhost:30000/d/9GEjrXHnk/tdc-app?orgId=1\u0026from=now-15m\u0026to=now\n\n## Configurer un test de charge\n\nTélécharger la dernière version de **JMeter** depuis https://jmeter.apache.org/download_jmeter.cgi\n\nLancer **JMeter** via **jmeter.bat** dans le dossier bin (pour Windows)\n\nOuvrir le plan de test dans le dossier **docker/jmeter/plans/Test plan.jmx**\n\nDans un premier temps, nous allons faire un test depuis l'application **JMeter** pour vérifier que le test est correct, mais pour de vrais tests de charge, il faut passer par le container ou la version en ligne de commande.\n\nUn test se compose de:\n- **Thread group**: Nombre de processus/utilisateur à simuler\n- **HTTP Header Manager**: Permet de paramétrer des headers pour la requête qui va être exécuter\n- **HTTP Request Local**: Permet de configurer la requête qui sera appelée si on veut tester sur une application qui tourne en local.\n- **HTTP Request Docker**: Permet de configurer la requête qui sera appelée si on veut tester sur une application qui tourne sous Docker.\n- **View Result Tree**: Permet de visualiser le résultat des requêtes appelées.\n\nChanger l'url du endpoint dans les **HTTP Request**\n\nAttention a bien activer le **HTTP Request** que vous souhaité utiliser et désactiver l'autre.\n\nVous pouvez lancer le test en cliquant sur la flêche verte.\n\nVous devriez voir l'impact du test dans Grafana.\n\n## Lancer un test de charge depuis le container jmeter\nExécuter la ligne `docker exec -it tdc-jmeter jmeter -n -t \"/var/lib/jmeter/plans/Test Plan.jmx\"` pour lancer le test.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapollossc%2Ftestdecharge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapollossc%2Ftestdecharge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapollossc%2Ftestdecharge/lists"}