# Benchmarks
Quelles métriques, comment les mesurer et garder un historique sur les évolutions.
Faire différents niveaux de benchmarks: unit et end-to-end
Rajouter dans la pipeline les tests de perfs
## Liste actuelle
- soumission: temps entre le moment un certain nombre de tache est déposé et le temps pour récupérer la main.
- variables:
- nombre de taches (armonik)
- taille des taches
- nb de pod (pour armonik)
- mesure: difference entre le moment de la soumission et le moment de la reprise en main
- File vide: si envoie d'un tache combien de temps pour arriver dans le pod.
- htcmock 10'000 taches, aucun calcul, aucune payload
## Bench core
Definitions:
- tache: tache au sens ArmoniK
- batch: ensemble de soumissions de tâches dans une seule requête
- job: ensemble de tâches calculant un résultat ("tâche" au sens Datasynapse)
- payload: données d'entré des tâches
Produit cartésien:
- nb batch: [1, 10, 100, 1000]
- nb tache/batch: [1, 10, 100, 1000]
- payload: [1o, 1Ko, 100Ko, 1Mo, 10Mo]
- temps/tache: [0, 1ms, 100ms, 10s]
- nb pods/machine: [1, 2, nb core]
- nb machine: [1, 4, 16]
Mesures:
- temps de soumission
- temps de complétion
- débit de taches (/s, /s/coeur, /s/pod)
## com
Faire benchmarcks en considerant ArmoniK comme une black box.
## cas tests aux limites
- nb de coeurs
- latence réseau ?
- ...