---
# System prepended metadata

title: 'Tests des systemes logiciels : TP tests de performances'

---

# Tests des systemes logiciels : TP tests de performances

## Leopold FAVRE - Mathis MARION - Sylvain PRAT

## Rapports CLIF des tests

#### 4.1 Description de l'infrastructure de test

##### 4.1.1

Machine sous test : 
```
OS: Ubuntu 20.04.3 LTS
CPU: Intel(R) Core(TM) i5-7500 CPU @  3.40Ghz
Memory: 32 GiB
(Machine de l'ensimag, connectée au réseau de l'ecole)
```
Machine Clif :
```
OS: EndeavourOS Linux x86_64 
CPU: Intel i7-10510U (8) @ 4.900GHz
Memory: 7789MiB 
(Machine perso, connectée à Eduroam à l'école et au VPN).
```



#### 4.2 Compréhension des scénarios

##### 4.2.1

Ce comportement est censé effectuer 20 itérations de boucle.

##### 4.2.2

Le programme est censé envoyer 20 requêtes.

##### 4.2.3

L'hypothèse est que le temps de réponse du serveur doit être inférieur à 50ms. Si cette hyposthèse n'est pas respectée, le client attendra de toute façons la réponse avant d'effectuer de nouvelles requêtes, il n'y aura donc jamais de contentions. Cependant, si un paquet est perdu, le client sera bloqué à jamais.

##### 4.2.4

- Le paquet UDP est perdu
- La latence trop grande
- Le temps de traitement de la requête par le serveur est trop long

##### 4.2.5

// TODO

#### 4.3 Premier Test


```
action type	calls	min	max	mean	median	std dev	throughput	errors
LOG 	     0	   NaN	   NaN	   NaN	   NaN	   NaN	   NaN	   112
UDP CONNECT 	     1	    81	    81	81.000	    81	   NaN	   NaN	     0
UDP RECEIVE 	  1121	   273	  7405	1251.620	  1220	388.350	18.724	     0
UDP SEND 	  1121	    30	   362	117.488	   111	35.974	18.724	     0
GLOBAL LOAD	  2243	    30	  7405	684.285	   308	630.645	37.463	   112
Quick statistics report done
```

##### 4.3.1

Le temps d'attente moyen pour le traitement d'un paquet est de 1,251  ms (en négligeant la latence du réseau loopback).

##### 4.3.2

$d_{max} = 1 / t_{min} = 1 / 273e-6 \simeq 3663$

Le débit maximum des requêtes gérable par le serveur est de 3663 paquets par seconde.

##### 4.3.3

$f = 20$ (nombre de requêtes par seconde par utilisateur)
Si $d_{max} <  f \times u$ (nombre d'utilisateurs), il y a contention.
Donc $u_{max} = \lfloor d_{max} / f \rfloor = 183$.

##### 4.3.4

Puisque le temps de latence du réseau est négligeable et que le temps de traitement max est inférieur à 50ms, on sait que chaque boucle du client (lors de laquelle a lieu une requête) s'est effectuée pendant la durée minimale de $t_1 = 50ms$. 
Or en moyenne, chaque paquet a été traité en $t_2 = 1,251 ms$.

le taux d'utilisation du serveur de calcul dans ce test est donc de $t_2 / t_1 \simeq 2.5 \%$

##### 4.3.5

Il n'y a pas eu d'erreur lors de ce test (0%).

#### 4.4 Deuxième test

##### 4.4.1

```
action type	calls	min	max	mean	median	std dev	throughput	errors
LOG 	     0	   NaN	   NaN	   NaN	   NaN	   NaN	   NaN	   115
UDP CONNECT 	     1	   171	   171	171.000	   171	   NaN	   NaN	     0
UDP RECEIVE 	  1154	  1603	 67011	3966.415	  2859	4477.685	19.273	     0
UDP SEND 	  1154	    22	   736	89.532	    92	41.816	19.273	     0
GLOBAL LOAD	  2309	    22	 67011	2027.169	   736	3711.612	38.561	   115
Quick statistics report done
```
Dans le test précédent, le temps de traitement moyen (sans latence réseau) est de  $t_1 = 1,251ms$. Dans celui-ci (avec latence réseau), il est de $t_2 = 3,966ms$. 
Le temps de latence réseau est donc de $t_2 - t_1 = 2.715ms$.

#### 4.5 Troisième test

##### 4.5.1

```
action type	calls	min	max	mean	median	std dev	throughput	errors
LOG 	     0	   NaN	   NaN	   NaN	   NaN	   NaN	   NaN	  1673
UDP CONNECT 	    20	    58	   258	131.600	   117	63.776	10.537	     0
UDP RECEIVE 	 16735	  1270	 64844	3040.734	  2669	2790.573	270.395	    77
UDP SEND 	 16812	     2	  7651	49.876	    48	67.036	271.639	     0
GLOBAL LOAD	 33567	     2	 64844	1541.032	   185	2474.014	542.348	  1750
Quick statistics report done
```
Le temps moyen de réponse est de $t_1 = 3,040ms$
##### 4.5.2

Le temps de latence (calculé précédemment) est de $t_2 = 2,715ms$.
Puisque le temps moyen de réception d'une réponse 
Le temps de traitement moyen par le serveur pour ce test est égal à $t_1 - t_2 = 0,325ms$


##### 4.5.3

Nous avons eu 77 erreurs pour 16735 paquets reçus. Cela correspond à un taux d'erreur de $0,46\%$

##### 4.5.4

Il peut aussi y avoir comme des paquets non reçus à cause le contention réseau.

#### 4.6 Quatrième test

##### 4.6.1

Le test ne fonctionne pas car l'ordinateur utilisant CLIF n'a pas assez de sockets réseaux utilisables.

##### 4.6.2

Pour pouvoir injecter plus de charge au serveur, il faudrait utiliser plusieurs ordinateurs au lieu d'un seul.



$min_{z \in R}(\sum_{y \in Y} |y - z|)$