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 performances d'une instance donnée peuvent varier en raison de divers facteurs, tels que l'utilisation de la mise en cache, le nombre VM, le type de machine des VM clientes et la charge de travail testée.
Les tableaux suivants indiquent les performances attendues de Filestore en fonction de son niveau de service et de la capacité configurée:
Performance | Capacité | IOPS de lecture et d'écriture | Débit en lecture et en écriture (Mio/s) |
---|---|---|---|
BASIC_HDD |
1 Tio à 10 Tio | 600/1,000 | 100/100 |
BASIC_HDD |
10 Tio à 63,9 Tio | 1,000/5,000 | 180/120 |
BASIC_SSD |
2,5 Tio à 63,9 Tio | 60,000/25,000 | 1,200/350 |
ZONAL |
1 Tio | 9 200/2 600 | 260/88 |
ZONAL |
9,75 Tio | 89 700/25 350 | 2 535/858 |
ZONAL |
10 Tio | 92 000/26 000 | 2,600/880 |
ZONAL |
100 Tio | 920,000/260,000 | 26,000/8,800 |
REGIONAL |
1 Tio | 12,000/4,000 | 120/100 |
REGIONAL |
9,75 Tio | 117 000/39 000 | 1 170/975 |
REGIONAL |
10 Tio | 92 000/26 000 | 2,600/880 |
REGIONAL |
100 Tio | 920,000/260,000 | 26,000/8,800 |
ENTERPRISE |
1 Tio | 12,000/4,000 | 120/100 |
ENTERPRISE |
10 Tio | 120,000/40,000 | 1,200/1,000 |
Le tableau précédent indique les performances attendues au minimum et au maximum pour chaque niveau de service. Entre ces limites, les performances évoluent de façon linéaire à mesure que la capacité évolue. Par exemple, si vous doublez votre instance d'entreprise de 1 Tio à 2 Tio, les performances attendues de l'instance passe de 12 000/4 000 IOPS en lecture et écriture à 24 000/8 000 en lecture et écriture IOPS.
Dans les scénarios impliquant un seul client et peu de clients, vous devez augmenter le nombre de requêtes TCP
des connexions avec
nconnect
installation pour obtenir des performances NFS maximales. Nous vous recommandons de spécifier jusqu'à
7
connexions pour le niveau de service zonal et jusqu'à 2
connexions pour le
régionaux et d'entreprise. En général, plus la capacité du partage de fichiers est élevée
et moins il y a de VM clientes connectées, plus vous gagnez en performances
en spécifiant des connexions supplémentaires avec nconnect
.
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 de 16 Gbps
. Cette bande passante de sortie permet
pour obtenir une bande passante de lecture d'environ 16 Gbps
, ce qui facilite la mise en cache
et charges de travail. Pour en savoir plus, consultez l'article Bande passante réseau.
Options d'installation des clients Linux
Nous vous recommandons d'utiliser les options d'installation NFS suivantes, en particulier hard
install, async
, ainsi que les options rsize
et wsize
, pour obtenir le meilleur résultat possible
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=262144 |
Le client NFS peut recevoir un maximum de 262 144 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 un maximum de 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. |
Performances d'une ou de plusieurs VM clientes
Les niveaux de service évolutifs de Filestore sont optimisés pour plusieurs VM clientes, et non une VM cliente unique.
Pour les instances zonales, régionales et d'entreprise, au moins quatre VM clientes pour bénéficier de performances optimales. Ainsi, toutes les VM du cluster Filestore sous-jacent sont entièrement utilisées.
Pour plus de contexte, le plus petit cluster Filestore évolutif possède quatre
à l'aide de VM. Chaque VM cliente communique avec un seul cluster Filestore
VM, quel que soit le nombre de connexions NFS par client spécifié à l'aide de la
nconnect
d'installation. Si vous utilisez une seule VM cliente, les opérations de lecture et d'écriture
à partir d'une VM de cluster Filestore unique.
Améliorer les performances de toutes les ressources Google Cloud
Opérations sur plusieurs ressources Google Cloud, telles que la copie de données
depuis Cloud Storage vers une instance Filestore avec gsutil
peut être lente. Pour limiter les problèmes de performances, essayez les solutions suivantes:
Assurez-vous que le bucket Cloud Storage, la VM cliente et Filestore instance se trouvent tous dans la même région.
Les emplacements birégionaux offrent une configuration optimale pour les données stockées dans Cloud Storage. Si vous utilisez cette option, assurez-vous que et les autres ressources se trouvent dans l'une des régions birégional. Par exemple, si vos données Cloud Storage se trouvent dans
us-central1,us-west1
, assurez-vous que votre VM cliente et Filestore se trouvent dansus-central1
.Vérifiez les performances d'une VM associée à un disque persistant comme point de référence à celles d'une instance Filestore.
Si la VM associée à un disque persistant présente des performances similaires ou plus lentes l'instance Filestore, cela peut indiquer sans lien avec Filestore. Essayez ce qui suit pour améliorer les performances de base de vos ressources autres que Filestore:
Appliquer les
gsutil -m
. Cette option autorise les opérations compatibles, y compriscp
,mv
, etrsync
pour qu'elles s'exécutent en parallèle.Appliquez les configurations
gsutil
suivantes. Chacune d'elles est modifiable :boto
définies dans le fichier de configurationboto
. Les utilisateurs peuvent Modifiez directement le fichier (recommandé) ou utilisez l'optiongsutil -o
:
Si les performances de l'instance Filestore sont très plus lente que la VM associée à un 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 bénéficier de performances optimales. Cela garantit que tous des VM du cluster Filestore sous-jacent utilisées. Pour en savoir plus, consultez Performances des VM clientes uniques ou multiples.
Tester les performances
Si vous utilisez Linux, vous pouvez utiliser la fonction fio pour évaluer le débit en lecture et en écriture, ainsi que les IOPS, pour les instances de niveau de base. Notez que cette méthode d'analyse comparative des performances n'est pas recommandée pour les buckets zonaux, régionales et d'entreprise.
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.
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