Previous Topic

Next Topic

Book Contents

Book Index

Mesurer et optimiser les performances du disque

Microsoft propose un utilitaire appelé Diskspd qui peut être utilisé pour mesurer rapidement les performances du disque. Vous pouvez le télécharger sur Microsoft Technet. .

Téléchargez le fichier zip et décompressez les fichiers sur le système cible qui hébergera le serveur Ipswitch Analytics. Utilisez ensuite la ligne de commande ci-après pour :

  1. régler la taille de bloc sur 8 k ;
  2. exécuter le test pendant 60 secondes.
  3. Désactivez la mise en cache matérielle et logicielle, paramétrez 2 E/S superposées et 4 threads par cible, 30 % d'écritures et 70 % de lectures aléatoires et créez un fichier test de 10 Go nommé c:\io.dat.

Dans l'exemple d'affichage ci-dessous, observez les valeurs des colonnes I/O per s, MB/s et AvgLat. À elles trois, ces valeurs reflètent les performances globales du disque. Plus précisément, si le nombre total d'IOPS (colonne I/O per s) est inférieur à la valeur prévue, vous devez soit optimiser la configuration de votre disque ou le remplacer par du matériel plus performant.

Remarque : Certains environnements virtuels disposent de systèmes de cache supplémentaires. Pour éviter que les résultats ne soient faussés par la mise en cache des E/S, prévoir une taille de fichier test suffisamment importante. Selon la quantité d'espace disque libre dont vous disposez, vous pouvez essayer différentes tailles avec l'option -c, depuis 10 Go puis par incréments de 10 Go pour chaque test supplémentaire, et capturer la sortie d'écran pour chaque exécution. Une fois les tests terminés, n'oubliez pas de supprimer le fichier test c:\io.dat pour libérer de l'espace disque.

Ligne de commande (amd64fre\diskspd.exe) :

diskspd.exe -b8K -d60 -Sh -L -o2 -t4 -r -w30 -c10G c:\io.dat

Exemple de résultat

Voici un exemple de trace pour un fichier de test de 20 Go, avec un disque dur relativement lent (les IOPS des disques SSD seront nettement plus importants). Le total des E/S par s est de 314.25 pour les E/S totales, et la latence moyenne (AvgLat) est de 25.864.


Ligne de commande : diskspd.exe -b8k -d60 -Sh -L -o2 -t4 -r -w30 -c20G c:\io.dat
Paramètres d'entrée :
        timespan:   1
        -------------
        duration: 60s
        warm up time: 5s
        cool down time: 0s
        measuring latency
        random seed: 0
        path: 'c:\io.dat'
                think time: 0ms
                burst size: 0
                software cache disabled
                hardware write cache disabled, writethrough on
                performing mix test (read/write ratio: 70/30)
                block size: 8192
                using random I/O (alignment: 8192)
                number of outstanding I/O operations: 2
                thread stride size: 0
                threads per file: 4
                using I/O Completion Ports
                IO priority: normal
Results for timespan 1:
*******************************************************************************
actual test time:       60.01s
thread count:           4 
proc count:             4 
CPU |  Usage |  User  |  Kernel |  Idle
-------------------------------------------
   0|  98.84%|   2.45%|   96.40%|   1.17%
   1|  97.67%|   1.15%|   96.53%|   2.40%
   2|  98.32%|   1.56%|   96.76%|   1.74%
   3|  98.37%|   1.30%|   97.07%|   1.69%
-------------------------------------------
avg.|  98.30%|   1.61%|   96.69%|   1.75%
Total IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  AvgLat  | LatStdDev |  file
-----------------------------------------------------------------------------------------------------
     0 |        37060608 |         4524 |       0.59 |      75.39 |   26.385 |  27.878 | c:\io.dat (20GB)
     1 |        38715392 |         4726 |       0.62 |      78.76 |   25.285 |  26.946 | c:\io.dat (20GB)
     2 |        39542784 |         4827 |       0.63 |      80.44 |   24.704 |  25.889 | c:\io.dat (20GB)
     3 |        39157760 |         4780 |       0.62 |      79.66 |   24.999 |  26.461 | c:\io.dat (20GB)
-----------------------------------------------------------------------------------------------------
total:         154476544 |        18857 |       2.46 |     314.25 |   25.328 |  26.793
Read IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  AvgLat  | LatStdDev |  file
-----------------------------------------------------------------------------------------------------
     0 |        26075136 |         3183 |       0.41 |      53.04 |   25.090 |  27.321 | c:\io.dat (20GB)
     1 |        26902528 |         3284 |       0.43 |      54.73 |   23.654 |  25.688 | c:\io.dat (20GB)
     2 |        28024832 |         3421 |       0.45 |      57.01 |   23.621 |  25.272 | c:\io.dat (20GB)
     3 |        27377664 |         3342 |       0.44 |      55.69 |   23.151 |  23.991 | c:\io.dat (20GB)
-----------------------------------------------------------------------------------------------------
total:         108380160 |        13230 |       1.72 |     220.48 |   23.864 |  25.582
Write IO
thread |       bytes     |     I/Os     |     MB/s   |  I/O per s |  AvgLat  | LatStdDev |  file
-----------------------------------------------------------------------------------------------------
     0 |        10985472 |         1341 |       0.17 |      22.35 |   29.459 |  28.927 | c:\io.dat (20GB)
     1 |        11812864 |         1442 |       0.19 |      24.03 |   29.000 |  29.274 | c:\io.dat (20GB)
     2 |        11517952 |         1406 |       0.18 |      23.43 |   27.339 |  27.152 | c:\io.dat (20GB)
     3 |        11780096 |         1438 |       0.19 |      23.96 |   29.294 |  31.038 | c:\io.dat (20GB)
-----------------------------------------------------------------------------------------------------
total:          46096384 |         5627 |       0.73 |      93.77 |   28.770 |  29.157

  %-ile |  Read (ms) | Write (ms) | Total (ms)
----------------------------------------------
    min |      0.279 |      0.448 |      0.279
   25th |     11.928 |     14.880 |     12.685
   50th |     18.962 |     23.046 |     20.092
   75th |     27.768 |     33.176 |     29.308
   90th |     38.372 |     44.770 |     40.827
   95th |     49.850 |     58.433 |     52.565
   99th |    163.746 |    182.827 |    170.291
3-nines |    248.696 |    265.721 |    251.552
4-nines |    276.149 |    278.435 |    277.200
5-nines |    277.200 |    278.435 |    278.435
6-nines |    277.200 |    278.435 |    278.435
7-nines |    277.200 |    278.435 |    278.435
8-nines |    277.200 |    278.435 |    278.435
9-nines |    277.200 |    278.435 |    278.435
    max |    277.200 |    278.435 |    278.435