1 votes

Qu'est-ce que le Split IO ?

J'essaie de comprendre la signification du compteur d'entrées/sorties fractionnées pour les disques physiques dans le moniteur de performances de Windows et je ne comprends pas bien pourquoi une seule opération d'entrée/sortie peut être fractionnée en plusieurs. Selon la documentation de Microsoft :

Indique le taux auquel les demandes d'E/S sur le disque ont été divisées en demandes multiples. Une E/S fractionnée peut résulter d'une demande de données d'une données dont la taille est trop importante pour être intégrée dans une seule E/S ou que le disque est fragmenté sur les systèmes à disque unique. fragmenté sur les systèmes à disque unique.

Comment les systèmes opérationnels savent-ils que les données demandées sont trop volumineuses et que la demande doit être fractionnée ? Existe-t-il une valeur seuil fixe ou est-elle calculée ? La fragmentation est un concept de système de fichiers. Et d'après ce que j'ai compris, le compteur d'entrées-sorties fractionnées est collecté à partir des internes du pilote de disque qui est inférieur à la couche du système de fichiers et n'a donc aucune idée si un bloc demandé (ou un groupe de blocs séquentiels) appartient à un fichier fragmenté. Ai-je tort ?

2voto

shodanshok Points 42743

Chaque périphérique de bloc peut spécifier (au moins) deux tailles d'E/S différentes :

  • la taille minimale des blocs : la taille minimale des blocs que le périphérique acceptera jamais (souvent 512B ou 4 KB)
  • la taille maximale des blocs : la taille maximale des blocs que le périphérique peut gérer en un seul transfert (généralement 64 Ko pour les pilotes Windows IDE et AHCI).

Il ressort clairement de ce qui précède que si le périphérique spécifie, par exemple, une taille de bloc maximale de 64 Ko mais que votre application écrit 128 Ko à la fois, chaque écriture sera fractionnée en deux différentes requêtes IO.

De aquí (veuillez noter qu'il s'agit d'un ancien document) :

L'utilisation de requêtes de 64 Ko permet d'obtenir un débit plus rapide avec très peu d'inconvénients. temps processeur. Le débit maximal se produit généralement à 64 Ko, bien que certains périphériques peuvent avoir une taille de débit maximum plus élevée. Lorsque transfert de blocs de données supérieurs à 64 Ko, le sous-système d'E/S fractionne les les transferts en blocs de 64 Ko. Au-delà de 64 Ko, le taux de transfert chute et le débit se stabilise. L'utilisation du processeur et les interruptions semblent également se stabiliser à 64 Ko.

0 votes

Merci pour le lien. Donc, si j'ai bien compris, une opération de fractionnement se produit pour le transfert de gros morceaux séquentiels de données. Mais cela ne signifie-t-il pas que plus le système de fichiers est fragmenté, moins la requête io a de chances d'être fractionnée ?

0 votes

Comme l'indique la documentation de Microsoft, un système de fichiers fragmenté peut faire en sorte que des demandes plus contiguës soient divisées en plusieurs demandes plus petites.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X