Performances

Cette page décrit les performances moyennes attendues et les paramètres de performances recommandés pour Filestore. Elle indique également comment tester les performances de vos instances Filestore.

Performance attendue

Chaque niveau de service Filestore fournit un niveau de performances différent. Les niveaux de base offrent des performances constantes au-delà d'une capacité d'instance de 10 To (TiB). Pour les instances Enterprise et à grande échelle, les performances augmentent ou diminuent de manière linéaire à mesure que la capacité augmente ou diminue.

Les performances d'une instance donnée peuvent différer des chiffres indiqués en raison de divers facteurs, tels que l'utilisation de la mise en cache,type de machine de la VM cliente et de la charge de travail testée.

Les tableaux suivants présentent les performances attendues des instances Filestore en fonction de leur niveau de service et de leur capacité configurée :

Performances Capacité (TiB) IOPS lecture/écriture Tput en lecture/écriture (Mio/s)
BASIC_HDD 1 à 10 600/1,000 100/100
BASIC_HDD 10-63,9 1,000/5,000 180/120
BASIC_SSD 2,5-63,9 60,000/25,000 1,200/350
HIGH_SCALE_SSD 10 90 000/26 000 2 600/880
HIGH_SCALE_SSD 100 920 000/260 000 26 000/8 800
ENTERPRISE 1 12 000/4 000 120/100
ENTERPRISE 10 120 000/40 000 1 200/1 000

Scaling des performances des niveaux SSD d'entreprise et à grande échelle

Les performances des instances Enterprise et à grande échelle évoluent de manière linéaire avec la capacité allouée, respectivement, pour 1 étape TiB et 2,5 TiB. Le tableau suivant indique le niveau de performances obtenu avec chaque TiB 2,5 de la capacité.

Grande échelle

Spécification Nombre maximal d'IOPS soutenues1 Tput maximal soutenu2 (Mio/s)
Nombre de lectures tous les 2.5TiB 23 000 650
Nombre d'écritures tous les 2.5TiB 6 500 220

Entreprise

Spécification Nombre maximal d'IOPS soutenues[^1] Nombre maximal de Tput[^2] soutenus (Mio/s)
Nombre de lectures tous les 1TiB 12 000 120
Nombre d'écritures tous les 1TiB 4 000 100

Dans les scénarios à client unique et à client unique, vous devez augmenter le nombre de connexions TCP avec l'option d'installation nconnect pour atteindre des performances NFS maximales. Nous vous recommandons de spécifier jusqu'à 7 connexions pour le niveau Grande échelle et jusqu'à 2 connexions pour les niveaux Enterprise. En général, plus la capacité de partage de fichiers est importante et moins les VM clientes se connectent, plus vous améliorez les performances en spécifiant des connexions supplémentaires avec nconnect.

Type de machine cliente recommandé

Nous vous recommandons de disposer d'un type de machine Compute Engine, tel que n2-standard-8, dont la bande passante de sortie est de 16 Gbps. Cette bande passante de sortie permet au client d'atteindre environ 16 bande passante en lecture Gbps pour les charges de travail compatibles avec la mise en cache. Pour plus de contexte, consultez la section sur la bande passante réseau.

Options d'installation des clients Linux

Nous vous recommandons d'utiliser les options d'installation NFS suivantes, en particulier :hard support, async, et lersize etwsize options définies sur 1MiB, pour obtenir des performances optimales sur les instances de VM clientes Linux. Pour plus d'informations 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=1048576 Le client NFS peut recevoir un maximum de 1 048 576 octets (1 Mio) du serveur NFS par requête READ.
wsize=1048576 Le client NFS peut recevoir un maximum de 1 048 576 octets (1 Mio) du 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.

Tester les performances

Si vous utilisez Linux, l'outil fio permet d'évaluer le débit en lecture et en écriture, ainsi que les IOPS pour les instances de niveau de base. Les exemples de cette section présentent des analyses comparatives courantes que vous pouvez exécuter. Pour obtenir des performances optimales, vous devrez peut-être exécuter l'outil fio à partir de plusieurs instances de VM clientes. Cette méthode d'analyse comparative ne fournit pas de résultats précis pour les instances de niveau entreprise et à grande échelle.

L'exemple suivant évalue le débit maximal en écriture :

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=write --blocksize=1m --iodepth=64 --readwrite=write

L'exemple suivant évalue le nombre maximal d'IOPS en écriture :

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite

L'exemple suivant évalue le débit maximal en lecture :

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=read --blocksize=1m --iodepth=64 --readwrite=read

L'exemple suivant évalue le nombre maximal d'IOPS en lecture :

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randread --blocksize=4k --iodepth=256 --readwrite=randread

Étape suivante


  1. Les valeurs sont mesurées sur la base de 4 000 E/S en lecture/écriture. 

  2. Les valeurs sont mesurées sur la base d'un million d'E/S en lecture/écriture.