Il y a beaucoup de détails ici, je vais essayer de résumer les points principaux ici.
La taille du bloc du système de fichiers est l'unité d'allocation minimale qui peut être réservée à un moment donné. Ainsi, si un système de fichiers a une taille de bloc de 4096, un fichier d'un octet occupe toujours 4096 octets sur le disque dur.
Cela est dû au fait que le système de fichiers doit savoir quelle partie du disque dur appartient à quel fichier. Si la taille du bloc était plus petite, la table d'allocation serait plus grande. Si la taille du bloc était plus grande, encore plus d'espace serait gaspillé avec des petits fichiers.
Il existe également d'autres stratégies d'allocation d'espace aux fichiers, en fonction du système de fichiers utilisé. Mais c'est la stratégie de base qui est le plus souvent utilisée.
Cependant, au niveau de l'application, le bs
Le paramètre est la taille du bloc d'une opération individuelle d'écriture/lecture. fio
utilise lors de l'exécution du benchmark. Des opérations d'écriture/lecture de plus grande taille peuvent offrir de meilleures performances, car plusieurs écritures de blocs au niveau du système de fichiers peuvent être combinées.
Vous ne pouvez pas forcer les applications à utiliser une taille de bloc spécifique. Elles écrivent/lisent exactement la quantité de données qu'elles souhaitent à tout moment. La taille des opérations individuelles d'écriture/lecture varie de quelques octets à des mégaoctets, en fonction de l'application.
fio
est une exception ici, car il s'agit d'un outil de référence.
Les systèmes de fichiers distants fonctionnent au-dessus du système de fichiers du serveur distant, et c'est donc le système de fichiers réel du serveur distant qui spécifie la taille des blocs utilisés sur le disque dur.
Le protocole utilisé lors de l'accès au système de fichiers du serveur distant possède également certaines "tailles de bloc", le plus souvent définies par la taille du segment TCP, qui est déterminée à partir du MTU. Le MTU est le plus souvent de 1500 octets sur Internet. Dans certains environnements locaux, le MTU peut être de 9000 octets. Cela nécessite le soutien de toutes les parties du réseau (commutateurs, routeurs et NIC) pour fonctionner correctement.