---
# System prepended metadata

title: Benchmarks

---

# 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 ?
- ...