Performances de l'instance

Cette page décrit les limites de performances des instances Filestore, ainsi que les paramètres et les options de test recommandés.

Chaque niveau de service Filestore fournit un niveau de performances différent, qui peut varier en fonction 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 non garanties. Pour en savoir plus sur les paramètres et les limites de performances personnalisés, consultez la section Limites de performances personnalisées.

Limites de performances à la capacité minimale et maximale pour chaque niveau de service
Niveau de service Capacité IOPS en lecture IOPS en écriture Débit en lecture (Mio/s) Débit en écriture (Mio/s) Débit de lecture d'un seul client (Mio/s) Débit en écriture d'un seul client (Mio/s) Performances personnalisées compatibles
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

Évolutivité 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 d'entreprise de 1 To à 2 To, la limite de performances de l'instance double, passant 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 des niveaux de service spécifiques, 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 moins les VM clientes connectées sont nombreuses, plus vous gagnez en performance en spécifiant des connexions supplémentaires avec nconnect.

Performances personnalisées

Définissez des performances personnalisées pour configurer les performances 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 la section 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 en savoir plus, consultez la section 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 requête READ.
Remarque: Pour les instances de niveau de base, définissez la valeur rsize sur 1048576.
wsize=1048576 Le client NFS peut envoyer jusqu'à 1 048 576 octets (1 Mio) 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 ultérieures peuvent être traitées directement à partir de la mémoire pour réduire la latence et améliorer les performances globales.

Pour les versions du kernel Linux 5.4 et ultérieures, 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 des VM clientes uniques et multiples

Les niveaux de service évolutifs de Filestore sont optimisés pour plusieurs VM clientes, et non pour une seule VM cliente.

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 compte quatre VM. Chaque VM cliente ne communique qu'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 Google Cloud ressources, telles que la copie de données de Cloud Storage vers une instance Filestore à l'aide de 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 de performances maximales pour les données stockées dans Cloud Storage. Si vous utilisez cette option, assurez-vous que les autres ressources se trouvent dans l'une des régions uniques de la zone 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 dans us-central1.

  • Pour référence, vérifiez les performances d'une VM avec un disque persistant (PD) associé et comparez-les aux performances d'une instance Filestore.

    • Si les performances de la VM associée à un PD sont similaires ou plus lentes que 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 autres que 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 à un PD
      , 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 pleinement des performances. Cela garantit que toutes les VM du cluster Filestore sous-jacent sont pleinement utilisées. Pour en savoir plus, consultez Performances des VM client uniques et multiples.

Étape suivante