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 différer des valeurs attendues en raison de divers 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.
Les tableaux suivants présentent les performances attendues des instances Filestore en fonction de leur niveau de service et de leur capacité configurée:
Performance | Capacité | IOPS en lecture et en é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 à la capacité minimale et maximale pour chaque niveau de service. Entre ces limites, les performances évoluent de manière linéaire à mesure que la capacité évolue. Par exemple, si vous doublez la capacité de votre instance d'entreprise de 1 To à 2 To, les performances attendues de l'instance doublent, 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. Nous vous recommandons de spécifier jusqu'à 7
connexions pour le niveau de service zonal et jusqu'à 2
connexions pour les niveaux régional et Enterprise. 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
.
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 au client d'atteindre une bande passante de lecture d'environ 16 Gbit/s (Gbps
) 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 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 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. |
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 que depuis une seule VM de cluster Filestore.
Améliorer les performances des ressources Google Cloud
Les opérations sur plusieurs ressources Google Cloud, 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 régions duales 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 contenues dans 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 dansus-central1
.À titre de référence, vérifiez les performances d'une VM associée à un PD et comparez-les à celles d'une instance Filestore.
Si les performances de la VM associée à un PD sont similaires ou plus lentes par rapport à celles de l'instance Filestore, cela peut indiquer un goulot d'étranglement de 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 la section 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 entièrement utilisées. Pour en savoir plus, consultez la section Performances des VM client uniques et multiples.
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. Notez que cette méthode d'analyse comparative des performances n'est pas recommandée pour les instances zonales, 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