From 4ebbe9bda189757e193d2b8d25fdb5142a3ac0a5 Mon Sep 17 00:00:00 2001 From: Quentin Roussel Date: Sat, 14 Jan 2023 20:41:15 +0100 Subject: [PATCH] =?UTF-8?q?section=20r=C3=A9sultats=20rapport=20fini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../benchmark/benchmark_script.sh | 1 - .../module_hardware/docker_ps.txt | 8 --- .../htop.png} | Bin .../latence.png} | Bin .../reconnaissance_fps.png} | Bin docs/rapports_pan2/module_hardware/rapport.md | 48 ++++++++++++++++++ 6 files changed, 48 insertions(+), 9 deletions(-) delete mode 100644 docs/rapports_pan2/module_hardware/docker_ps.txt rename docs/rapports_pan2/module_hardware/{benchmark/Capture d’écran du 2023-01-14 17-39-03.png => img/htop.png} (100%) rename docs/rapports_pan2/module_hardware/{benchmark/Capture d’écran du 2023-01-14 16-23-47.png => img/latence.png} (100%) rename docs/rapports_pan2/module_hardware/{benchmark/Capture d’écran du 2023-01-14 17-27-17.png => img/reconnaissance_fps.png} (100%) diff --git a/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh b/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh index 3b2158e..adae5df 100644 --- a/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh +++ b/docs/rapports_pan2/module_hardware/benchmark/benchmark_script.sh @@ -2,5 +2,4 @@ sysbench --test=cpu run >>sysbench.log sysbench --test=memory run >>sysbench.log sysbench --test=fileio --file-test-mode=rndrw prepare sysbench --test=fileio --file-test-mode=rndrw run >>sysbench.log - sysbench --test=fileio cleanup \ No newline at end of file diff --git a/docs/rapports_pan2/module_hardware/docker_ps.txt b/docs/rapports_pan2/module_hardware/docker_ps.txt deleted file mode 100644 index 42e88d7..0000000 --- a/docs/rapports_pan2/module_hardware/docker_ps.txt +++ /dev/null @@ -1,8 +0,0 @@ -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -4ff5ebc88a1f code-backend_reconaissance "python main.py" 58 minutes ago Up 58 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp backend_reconaissance -02e8569d1926 code-video_loopback "ffmpeg -video_size …" 2 hours ago Up 58 minutes video_loopback -d50295f99ae5 phpmyadmin:latest "/docker-entrypoint.…" 3 hours ago Up 58 minutes 0.0.0.0:8000->80/tcp, :::8000->80/tcp phpmyadmin -a5efc4ddae1b code-reviews_api "docker-entrypoint.s…" 3 hours ago Up 58 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp reviews_api -830786df4f5f httpd:latest "httpd-foreground" 3 hours ago Up 58 minutes 0.0.0.0:8888->80/tcp, :::8888->80/tcp interface_borne -2fd04a8fe768 mysql:latest "docker-entrypoint.s…" 3 hours ago Up 58 minutes (healthy) 3306/tcp, 33060/tcp db -9999c72bb59f httpd:latest "httpd-foreground" 3 hours ago Up 58 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp interface_admin diff --git a/docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-39-03.png b/docs/rapports_pan2/module_hardware/img/htop.png similarity index 100% rename from docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-39-03.png rename to docs/rapports_pan2/module_hardware/img/htop.png diff --git a/docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-23-47.png b/docs/rapports_pan2/module_hardware/img/latence.png similarity index 100% rename from docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 16-23-47.png rename to docs/rapports_pan2/module_hardware/img/latence.png diff --git a/docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-27-17.png b/docs/rapports_pan2/module_hardware/img/reconnaissance_fps.png similarity index 100% rename from docs/rapports_pan2/module_hardware/benchmark/Capture d’écran du 2023-01-14 17-27-17.png rename to docs/rapports_pan2/module_hardware/img/reconnaissance_fps.png diff --git a/docs/rapports_pan2/module_hardware/rapport.md b/docs/rapports_pan2/module_hardware/rapport.md index fd4676a..a339dc4 100644 --- a/docs/rapports_pan2/module_hardware/rapport.md +++ b/docs/rapports_pan2/module_hardware/rapport.md @@ -53,8 +53,56 @@ Pour ce faire nous avons mis en place un container Docker par module de notre ap * **video_loopback** : ce container sert à contourner un problème que nous avons rencotré avec la gestion de camera de linux. En effet un seul programme ne peux accéder au flux d'une camera a la fois. C'est pour cela que nous avons utilisé `v4l2loopback` avec `ffmpeg` pour dupliquer le flux de notre camera dans 2 cameras virtuelles. ### Résultats +En réglant la camera a 640x480@30fps, aucune perte d'image n'est observée dans le retour vidéo dans firefox. +Mediapipe est capable d'analyser l'image de la camera et de communiquer les résultats à l'interface web 15 fois par seconde en moyenne + + +Ce taux de rafraichissement est suffisant pour que l'application paraisse réactive à l'utilisateur. + +Pendant ce temps l'api de traitement des avis et la base de donnée fonctionnent correctement en affichant une lattence de 8ms pour une récupération de la liste d'avis. + + +Pendance ce temps l'utilisation du processeur qui varie de 250 à 280% (sur 400% pour les 4 coeurs) et une utilisation de la RAM de 50% ce qui nous laisse de la marge en cas d'ajout imprévu. + + + +Les processus utilisant le plus de CPU sont la reconaissance d'image (70%) et firefox pour afficher l'interface de la borne (70-80%). En cas de besoin ces valeurs pourront être diminuées au prix de la fluidité du retour vidéo. +Pour la RAM c'est le serveur mysql (10%) et firefox (10%) qui consomment le plus. + +Pour ce qui est de la température, comme la borne sera dans un environement fermé, il était important de tester le bon fonctionnement du materiel dans ces conditions. Nous avons laissé tourner l'application pendant 2h dans une boite en carton fermée. Au début du test la température du processeur était de 50°C, au bout de 2h la température était montée a 70° ce qui reste assez faible pour ne pas limiter les performances du CPU. + +``` +$ sensors +acpitz-acpi-0 +Adapter: ACPI interface +temp1: +27.8°C (crit = +110.0°C) +temp2: +29.8°C (crit = +110.0°C) + +coretemp-isa-0000 +Adapter: ISA adapter +Package id 0: +69.0°C (high = +105.0°C, crit = +105.0°C) +Core 0: +69.0°C (high = +105.0°C, crit = +105.0°C) +Core 1: +68.0°C (high = +105.0°C, crit = +105.0°C) +``` ## Impact de l'utilisation de Docker +Nous nous sommes également posé la question de l'impact de l'utilisation de docker dans les performances de notre projet. Pour mesurer cela, nous avons effectué des benchmark directement sur le système puis dans un container Docker pour mesurer la différence. nous avons utlisé sysbench pour évaluer les performances du CPU, de la RAM et du disque (écriture/lecture aléatoire). +Le script permettant de faire le benchmark +```sh +sysbench --test=cpu run >>sysbench.log +sysbench --test=memory run >>sysbench.log +sysbench --test=fileio --file-test-mode=rndrw prepare +sysbench --test=fileio --file-test-mode=rndrw run >>sysbench.log +sysbench --test=fileio cleanup +``` +Le Dockerfile du container dans lequel nous avons exectué le même script +```Dockerfile +FROM alpine:latest +RUN apk add --no-cache sysbench +WORKDIR /app +COPY benchmark_script.sh /app/benchmark_script.sh +CMD ["sh","benchmark_script.sh"] +```