Cette page présente les options de performances disponibles pour les instances Filestore et fournit des recommandations générales pour optimiser les performances. Lorsque vous utilisez la console Google Cloud pour créer des instances zonales et régionales, les performances personnalisées sont activées par défaut. Cela vous permet de faire évoluer les IOPS indépendamment de la capacité pour répondre aux besoins spécifiques de votre charge de travail.
Le tableau suivant récapitule les limites de performances pour les plages de capacité inférieure et supérieure dans les paramètres de performances personnalisés :
| Plage de capacité | Niveau de service | Capacité | IOPS provisionnées par Tio |
|---|---|---|---|
| Plage de capacité inférieure | Régional (petites instances disponibles dans la région) | 100 Gio à 10 239 Gio | 4 000 à 17 000 |
| Régional (petites instances non disponibles dans la région) | 1 Tio à 9,75 Tio | 4 000 à 17 000 | |
| Zonal | 1 Tio à 9,75 Tio | 4 000 à 17 000 | |
| Plage de capacité plus élevée | Régional | 10 Tio à 100 Tio | 3 000 à 7 500 |
| Zonal | 10 Tio à 100 Tio | 3 000 à 7 500 |
Comprendre les calculs des performances
Le tableau suivant présente les calculs de performances basés sur les IOPS provisionnées par Tio et la capacité allouée. Les calculs sont basés sur différentes plages de capacité pour montrer comment les valeurs des IOPS en lecture, des IOPS en écriture, du débit en lecture et du débit en écriture changent pour les valeurs minimales et maximales des IOPS par Tio.
Pour en savoir plus, consultez IOPS en lecture et en écriture.
| Plage de capacité | IOPS provisionnés minimum et maximum par Tio |
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) |
|---|---|---|---|---|---|---|---|---|
| Plage de capacité inférieure : (de 100 Gio à 10 239 Gio) |
4 000 | 100 Gio | 2 000* | 600 | 47 | 16 | 47 | 16 |
| 600 Gio | 2 344 | 703 | 55 | 19 | 55 | 19 | ||
| 1 024 Gio | 4 000 | 1 200 | 94 | 32 | 94 | 32 | ||
| 10 239 Gio | 39 996 | 11 999 | 940 | 320 | 450 | 260 | ||
| 17 000 | 100 Gio | 2 000 | 600 | 47 | 16 | 47 | 16 | |
| 600 Gio | 9 961 | 2 988 | 234 | 80 | 234 | 80 | ||
| 1 024 Gio | 17 000 | 5 100 | 400 | 136 | 400 | 136 | ||
| 10 239 Gio | 169 983 | 50 995 | 3 995 | 1 360 | 450 | 260 | ||
| Plage de capacité supérieure (de 10 à 100 Tio) |
3 000 | 10 Tio | 30 000 | 9 000 | 705 | 240 | 705 | 240 |
| 7 500 | 100 Tio | 750 000 | 225 000 | 17 625 | 6 000 | 1 600 | 800 |
* Selon l'accès à la fonctionnalité d'instances de petite capacité, la plage de capacité inférieure pour les instances régionales Filestore peut être comprise entre 100 Gio et 10 239 Gio ou entre 1 Tio et 9,75 Tio. Pour en savoir plus, consultez Instances Filestore de petite capacité.
Scaling des performances
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.
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"
Remplacez les éléments suivants :
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.
Limites de performances basées sur la capacité
Les limites basées sur la capacité s'appliquent aux niveaux de service qui ne sont pas compatibles avec les performances personnalisées, tels que les niveaux de base ou les instances dans lesquelles vous désactivez manuellement les performances personnalisées.
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.
| 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) |
|---|---|---|---|---|---|---|---|
| Zonal | 1 Tio | 9 200 | 2 600 | 260 | 88 | 260 | 88 |
| 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 | |
| Entreprise | 1 Tio | 12 000 | 4 000 | 120 | 100 | 120 | 100 |
| 10 Tio | 120,000 | 40 000 | 1 200 | 1 000 | 450 | 260 | |
| HDD de base | 1 Tio à 10 Tio | 600 | 1 000 | 100 | 100 | 100 | 100 |
| 10 Tio à 63,9 Tio | 1 000 | 5 000 | 180 | 120 | 180 | 120 | |
| SSD de base | 2,5 Tio à 63,9 Tio | 60 000 | 25 000 | 1 200 | 350 | 1 200 | 350 |
Améliorer les performances pour les 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 Google Cloud 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 double. 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 (PD) et comparez-les à celles d'une instance Filestore.
- Si la VM associée au disque persistant présente des performances 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 pour améliorer les performances des opérations de lecture à partir de Cloud Storage.
Étapes suivantes
- Performances personnalisées
- Tester les performances
- Résoudre les problèmes liés aux performances
- Capacité de scaling