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