# Mesurer les performances de NVMe sans se tromper soi-même | SwissOctet Insights https://swissoctet.com/fr/insights/nvme-benchmark-methodology/ SwissOctet / Analyses / Stockage et récupération Stockage et récupération Avancé · 6 min de lecture Mesurer les performances de NVMe sans vous tromper Définissez le modèle d'E/S, maîtrisez les effets de cache et inspectez les distributions de latence avant de tirer une conclusion applicative d'un test de disque. Par SwissOctet Editorial Enregistrer le guide Copier le lien SUR CETTE PAGE 01 Commencez par une question de stockage, pas par un score 02 Décrivez la charge de travail en termes reproductibles 03 Maîtrisez la mise en cache sans prétendre qu'elle est sans importance 04 Analysez les queues de latence en parallèle du débit 05 Gardez le test autorisé et non destructif 06 Bouclez la démarche avec des preuves applicatives Votre liste de contrôle pratique Sources et lectures complémentaires Retour à la bibliothèque LA RÉPONSE DIRECTE Un test de stockage utile fait correspondre la taille des opérations, le profil d'accès, la concurrence et les exigences de durabilité à l'application. Consignez les conditions du test et la distribution des latences, puis confirmez le résultat par des mesures applicatives. 01 Commencez par une question de stockage, pas par un score Décidez ce que vous devez savoir avant de lancer un benchmark. Vous cherchez peut-être à comprendre des validations de base de données lentes, le débit de distribution de fichiers ou un processus de build qui crée de nombreux petits fichiers. Ces charges de travail ne demandent pas la même chose au disque. Une grande copie séquentielle peut sembler impressionnante tout en disant peu de chose sur le délai subi par un service effectuant de petites lectures aléatoires. NVMe a été conçu pour les supports non volatils et les E/S parallèles efficaces, mais le nom de son protocole ne décrit pas chaque partie d'un chemin de stockage hébergé. La virtualisation, le système de fichiers, la contention des ressources et l'application comptent toujours. Formulez une hypothèse de test, par exemple si la latence du stockage ralentit une opération donnée, plutôt que de chercher à produire un chiffre prouvant que le serveur entier est rapide. 02 Décrivez la charge de travail en termes reproductibles Consignez la taille des opérations, le profil séquentiel ou aléatoire, la proportion de lectures et d'écritures, le nombre de tâches et la profondeur de file d'attente. Indiquez la taille du jeu de données et la durée du test. La documentation de fio explique ces paramètres de charge de travail et les moteurs d'E/S disponibles. Une profondeur visée peut ne pas être atteinte par chaque moteur ou configuration ; lisez donc le comportement rapporté autant que la configuration demandée. Conservez une copie de la description du test à côté du résultat. Notez le système d'exploitation, le système de fichiers, les options de montage, l'activité des services et la capacité disponible. Si vous comparez des configurations, ne modifiez qu'une condition pertinente à la fois. Un test avec un profil d'accès ou une concurrence différents ne peut pas être présenté équitablement comme si seul le support de stockage avait changé. Profil applicatif Dimension du test à décrire Résultat à examiner Distribution de gros fichiers Lectures séquentielles et clients simultanés Débit soutenu et utilisation de CPU Recherche d'enregistrement Petites lectures aléatoires et concurrence représentative Distribution des latences et opérations terminées Transaction durable Exigences d'écriture et de synchronisation Délai lié à la validation, pas seulement la vitesse d'écriture tamponnée Build ou extraction Opérations mixtes sur petits fichiers Durée de la tâche de bout en bout et attentes d'E/S 03 Maîtrisez la mise en cache sans prétendre qu'elle est sans importance Un jeu de données qui tient en mémoire peut surtout mesurer le comportement du cache après la première passe. Cela peut être utile si l'application bénéficie normalement du même cache, mais cela ne doit pas être étiqueté comme performance brute du périphérique. Choisissez délibérément si le test examine un chemin applicatif chaud, un jeu de données plus froid ou un mode d'E/S destiné à réduire l'effet de mise en tampon du système d'exploitation. La prise en charge des E/S directes et l'alignement dépendent de la plateforme et du moteur. Cela n'exprime pas non plus automatiquement les exigences de durabilité de l'application et n'élimine pas tous les caches de la pile. Indiquez clairement le mode choisi et évitez de comparer un test tamponné à un test non tamponné comme s'ils représentaient le même travail. Séparez les périodes d'échauffement et de mesure lorsque cela aide à l'interprétation. 04 Analysez les queues de latence en parallèle du débit La latence moyenne peut masquer des opérations lentes qui affectent les requêtes réelles. Examinez les percentiles rapportés et le nombre d'échantillons sur lesquels ils reposent. Un percentile élevé décrit la limite en dessous de laquelle une fraction déclarée des opérations observées s'est située pendant ce test ; ce n'est pas une garantie de service permanente. Des exécutions courtes ou non représentatives fournissent des preuves limitées sur les périodes de forte production. Une profondeur de file d'attente plus élevée peut améliorer le débit terminé tout en augmentant le temps d'attente. Ce compromis peut convenir au traitement par lots et nuire à un service interactif. Comparez les résultats à une concurrence proche de celle de l'application et surveillez en même temps CPU et la pression d'E/S. Arrêtez avant que le test ne crée une perturbation inutile pour une autre charge de travail partageant l'environnement. 05 Gardez le test autorisé et non destructif Utilisez un répertoire de test dédié ou un volume jetable préparé, avec suffisamment d'espace libre et un plan de nettoyage explicite. Ne pointez jamais un benchmark d'écriture vers un périphérique brut non vérifié ou un jeu de données de production. Vérifiez la cible et le comportement d'écriture de l'outil avant de commencer, et commencez par une exécution limitée. Les E/S synthétiques peuvent consommer de la capacité et interférer avec les services même lorsqu'elles n'écrasent pas de fichiers utiles. Pour une évaluation proche de la production, convenez d'une fenêtre de maintenance et conservez la supervision applicative. Utilisez des données fabriquées lorsque c'est possible. Ne déduisez pas la fiabilité du stockage d'un test de vitesse : les contrôles d'intégrité, les sauvegardes et les restaurations sont des tâches distinctes. Un périphérique qui termine un benchmark a toujours besoin d'une stratégie de récupération en cas de suppression, d'erreur logicielle ou de perte de la machine. 06 Bouclez la démarche avec des preuves applicatives Supposons qu'un service de rapports passe beaucoup de temps à attendre des lectures aléatoires. L'équipe teste un profil de lecture représentatif, puis répète le rapport réel sur des données comparables. Si le rapport s'améliore tandis que le reste de son travail demeure stable, le résultat étaye l'hypothèse liée au stockage. Sinon, examinez la conception des requêtes, la mémoire ou une autre dépendance au lieu de répéter des tests synthétiques plus larges. Pulse NVMe et certaines configurations dédiées sélectionnées listent du stockage NVMe dans le catalogue SwissOctet. Leurs libellés sont des spécifications, pas des benchmarks applicatifs publiés. Utilisez une méthode contrôlée pour évaluer l'environnement livré et conservez les conditions avec les conclusions. La décision est plus solide lorsque la mesure du stockage et le résultat visible par l'utilisateur répondent à la même question. PASSEZ À L'ACTION Votre liste de contrôle pratique. ✓ Définissez d'abord la question applicative. ✓ Consignez le profil, la taille de bloc, la concurrence et la durée. ✓ Précisez les hypothèses de cache et de mode d'E/S. ✓ Inspectez les percentiles de latence autant que le débit. ✓ Utilisez une cible jetable vérifiée et une charge initiale limitée. ✓ Confirmez la conclusion par un test applicatif. Télécharger la liste de contrôle QUESTIONS FRÉQUENTES Les détails qui comptent. Une copie séquentielle suffit-elle à comparer le stockage d'une base de données ? + En général non. L'accès à une base de données peut impliquer de petites lectures aléatoires, des écritures et des synchronisations. Modélisez le profil pertinent et vérifiez l'application réelle. Les E/S directes prouvent-elles des écritures durables ? + Non. La mise en tampon et la durabilité sont des questions distinctes. Faites correspondre le comportement de synchronisation requis par l'application. Puis-je publier un test comme vitesse garantie d'une offre ? + Non. Publiez ses conditions et sa portée. Un résultat mesuré lors d'une exécution n'est pas une garantie de niveau de service ni de performance future. RÉFÉRENCES PRINCIPALES Allez à la source. Ces références soutiennent les concepts techniques de ce guide. Suivez la documentation actuelle avant de modifier un système de production. fio : documentation du testeur d'E/S flexible fio.readthedocs.io NVM Express : présentation de la spécification et FAQ nvmexpress.org Noyau Linux : Pressure Stall Information docs.kernel.org Conseils éditoriaux par SwissOctet. Les exemples sont illustratifs. Les spécifications de service, les options disponibles et les conditions contractuelles doivent être vérifiées séparément. CONNECTEZ LES CONNAISSANCES Infrastructure associée. Pulse NVMe Suisse Metal Hyper Suisse Metal EPYC Suisse GARDEZ LE FIL Vos prochaines notes de terrain. Explorez tous les guides NOTE DE TERRAIN / 01 + Stockage et récupération Fondation Quand NVMe fait la différence pour votre application Distinguez la capacité, la latence et le débit afin qu'une étiquette de stockage plus rapide réponde à un véritable problème applicatif. 4 min de lecture Lire le guide NOTE DE TERRAIN / 02 + Stockage et récupération Appliqué Instantanés et sauvegardes : choisir la panne à laquelle vous devez survivre Comparez les points de reprise, les frontières de panne et la cohérence applicative au lieu de supposer qu'un instantané et une sauvegarde indépendante offrent la même protection. 4 min de lecture Lire le guide NOTE DE TERRAIN / 03 + Stockage et récupération Fondation Stockage objet, fichier ou bloc : choisissez l'interface dont votre application a besoin Distinguez les interfaces de stockage, les sémantiques d'accès et les responsabilités opérationnelles avant de transformer un besoin de capacité en architecture applicative. 4 min de lecture Lire le guide