Cette page décrit les limites de performances des instances Filestore, ainsi que les paramètres de performances et les options de test recommandés.
Chaque niveau de service Filestore fournit un niveau de performances différent, qui peut varier en raison de facteurs tels que l'utilisation de la mise en cache, le nombre de VM clientes, le type de machine des VM clientes et la charge de travail testée.
Le tableau suivant indique les performances maximales que vous pouvez atteindre lorsque vous définissez une capacité minimale et maximale pour chaque niveau de service.
Toutes les valeurs du tableau sont des limites estimées et ne sont pas garanties. Pour en savoir plus sur les paramètres et les limites de performances personnalisés, consultez Limites de performances personnalisées.
Niveau de service | Capacité | IOPS en lecture | IOPS en écriture | Débit en lecture (Mio/s) | Débit en écriture (Mio/s) | Débit en lecture d'un seul client (Mio/s) | Débit en écriture d'un seul client (Mio/s) | Performances personnalisées acceptées |
---|---|---|---|---|---|---|---|---|
BASIC_HDD | 1 Tio à 10 Tio | 600 | 1 000 | 100 | 100 | 100 | 100 | Non |
10 Tio à 63,9 Tio | 1 000 | 5 000 | 180 | 120 | 180 | 120 | ||
BASIC_SSD | 2,5 Tio à 63,9 Tio | 60 000 | 25 000 | 1,200 | 350 | 1,200 | 350 | |
ZONAL | 1 Tio | 9 200 | 2 600 | 260 | 88 | 260 | 88 | Oui |
9,75 Tio | 89 700 | 25 350 | 2 535 | 858 | 450 | 260 | ||
10 Tio | 92 000 | 26 000 | 2 600 | 880 | 1 600 | 800 | ||
100 Tio | 920 000 | 260 000 | 26 000 | 8 800 | 1 600 | 800 | ||
RÉGIONAL | 1 Tio | 12 000 | 4 000 | 120 | 100 | 120 | 100 | |
9,75 Tio | 117 000 | 39 000 | 1 170 | 975 | 450 | 260 | ||
10 Tio | 92 000 | 26 000 | 2 600 | 880 | 1 600 | 800 | ||
100 Tio | 920 000 | 260 000 | 26 000 | 8 800 | 1 600 | 800 | ||
ENTERPRISE | 1 Tio | 12 000 | 4 000 | 120 | 100 | 120 | 100 | Non |
10 Tio | 120,000 | 40 000 | 1,200 | 1 000 | 450 | 260 |
Scaling des performances
Les performances évoluent de manière linéaire avec la capacité, dans les limites de performances indiquées dans le tableau précédent. Par exemple, si vous doublez la capacité de votre instance Enterprise de 1 Tio à 2 Tio, la limite de performances de l'instance passe de 12 000/4 000 IOPS en lecture et en écriture à 24 000/8 000 IOPS en lecture et en écriture.
Dans les scénarios à client unique et avec quelques clients, vous devez augmenter le nombre de connexions TCP avec l'option d'installation nconnect
pour atteindre des performances NFS maximales.
Pour certains niveaux de service, nous vous recommandons de spécifier le nombre de connexions suivant entre le client et le serveur :
Niveau | Capacité | Nombre de connexions |
---|---|---|
Régional, zonal | 1 à 9,75 Tio | nconnect=2 |
Régional, zonal | 10 à 100 Tio | nconnect=7 |
Entreprise | - | nconnect=2 |
SSD à grande échelle | - | nconnect=7 |
En général, plus la capacité du partage de fichiers est élevée et le nombre de VM clientes connectées est faible, plus vous obtenez de performances en spécifiant des connexions supplémentaires avec nconnect
.
Performances personnalisées
Définissez des performances personnalisées pour les configurer en fonction des besoins de votre charge de travail, indépendamment de la capacité spécifiée. Vous pouvez spécifier un ratio d'IOPS par Tio ou définir un nombre fixe d'IOPS. Pour en savoir plus, consultez Performances personnalisées.
Type de machine cliente recommandé
Nous vous recommandons d'utiliser un type de machine Compute Engine, tel que n2-standard-8
, qui fournit une bande passante de sortie d'au moins 16 Gbit/s. Cette bande passante de sortie permet au client d'atteindre une bande passante de lecture d'environ 16 Gbit/s pour les charges de travail compatibles avec le cache. Pour plus de contexte, consultez Bande passante réseau.
Options d'installation des clients Linux
Pour obtenir les meilleures performances sur les instances de VM clientes Linux, nous vous recommandons d'utiliser les options d'installation NFS suivantes, en particulier l'installation hard
, async
, et les options rsize
et wsize
. Pour en savoir plus sur les options d'installation NFS, consultez la page nfs.
Option par défaut | Description |
---|---|
hard |
Le client NFS relance indéfiniment les requêtes NFS. |
timeo=600 |
Le client NFS attend 600 décisecondes (60 secondes) avant de réessayer une demande NFS. |
retrans=3 |
Le client NFS tente d'effectuer les requêtes NFS à trois reprises avant de poursuivre la procédure de récupération. |
rsize=524288 |
Le client NFS peut recevoir un maximum de 524 288 octets du serveur NFS par demande READ . Remarque : Pour les instances de niveau de base, définissez la valeur rsize sur 1048576 . |
wsize=524288 |
Le client NFS peut envoyer un maximum de 524 288 octets au serveur NFS par requête WRITE . |
resvport |
Le client NFS utilise un port source privilégié lors de la communication avec le serveur NFS pour ce point d'installation. |
async |
Le client NFS retarde l'envoi des écritures d'application au serveur NFS jusqu'à ce que certaines conditions soient remplies. Attention : L'utilisation de l'option sync réduit considérablement les performances. |
Optimiser le débit de lecture NFS avec le paramètre read_ahead_kb
Le paramètre NFS read_ahead_kb
spécifie la quantité de données, en kilo-octets, que le noyau Linux doit précharger lors d'une opération de lecture séquentielle. Par conséquent, les requêtes de lecture suivantes peuvent être traitées directement à partir de la mémoire pour réduire la latence et améliorer les performances globales.
Pour les versions 5.4
et ultérieures du noyau Linux, le client NFS Linux utilise une valeur read_ahead_kb
par défaut de 128 Ko.
Nous vous recommandons d'augmenter cette valeur à 20 Mo pour améliorer le débit de lecture séquentielle.
Une fois le partage de fichiers installé sur la VM cliente Linux, vous pouvez utiliser le script suivant pour ajuster manuellement la valeur du paramètre read_ahead_kb
:
mount_point=MOUNT_POINT_DIRECTORY
device_number=$(stat -c '%d' $mount_point)
((major = ($device_number & 0xFFF00) >> 8))
((minor = ($device_number & 0xFF) | (($device_number >> 12) & 0xFFF00)))
sudo bash -c "echo 20480 > /sys/class/bdi/$major:$minor/read_ahead_kb"
Où :
MOUNT_POINT_DIRECTORY correspond au chemin d'accès au répertoire dans lequel le partage de fichiers est installé.
Performances d'une ou plusieurs VM clientes
Les niveaux de service évolutifs de Filestore sont optimisés pour les performances de plusieurs VM clientes, et non d'une seule.
Pour les instances zonales, régionales et Enterprise, au moins quatre VM clientes sont nécessaires pour profiter pleinement des performances. Cela garantit que toutes les VM du cluster Filestore sous-jacent sont pleinement utilisées.
Pour plus de contexte, le plus petit cluster Filestore évolutif comporte quatre VM. Chaque VM cliente communique avec une seule VM de cluster Filestore, quel que soit le nombre de connexions NFS par client spécifié à l'aide de l'option de montage nconnect
. Si vous utilisez une seule VM cliente, les opérations de lecture et d'écriture ne sont effectuées qu'à partir d'une seule VM de cluster Filestore.
Améliorer les performances des ressources Google Cloud
Les opérations sur plusieurs ressources Google Cloud , comme la copie de données de Cloud Storage vers une instance Filestore à l'aide de la gcloud CLI, peuvent être lentes. Pour atténuer les problèmes de performances, essayez les solutions suivantes :
Assurez-vous que le bucket Cloud Storage, la VM cliente et l'instance Filestore se trouvent tous dans la même région.
Les zones birégionales offrent une option extrêmement performante pour les données stockées dans Cloud Storage. Si vous utilisez cette option, assurez-vous que les autres ressources résident dans l'une des régions uniques contenues dans la région birégionale. Par exemple, si vos données Cloud Storage se trouvent dans
us-central1,us-west1
, assurez-vous que votre VM cliente et votre instance Filestore se trouvent dansus-central1
.Pour obtenir un point de référence, vérifiez les performances d'une VM à laquelle est associé un disque persistant (DP), puis comparez-les à celles d'une instance Filestore.
- Si les performances de la VM associée au disque persistant sont similaires ou inférieures à celles de l'instance Filestore, cela peut indiquer un goulot d'étranglement des performances sans rapport avec Filestore. Pour améliorer les performances de référence de vos ressources non Filestore, vous pouvez ajuster les propriétés de gcloud CLI associées aux importations composites parallèles. Pour en savoir plus, consultez Utilisation des importations composites parallèles par les outils et les API.
Si les performances de l'instance Filestore sont nettement plus lentes que celles de la VM associée au disque persistant
, essayez de répartir l'opération sur plusieurs VM.Cela permet d'améliorer les performances des opérations de lecture à partir de Cloud Storage.
Pour les instances zonales, régionales et d'entreprise, au moins quatre VM clientes sont nécessaires pour profiter de toutes les performances. Cela garantit que toutes les VM du cluster Filestore sous-jacent sont pleinement utilisées. Pour en savoir plus, consultez Performances d'une ou plusieurs VM clientes.