Présentation des performances

Cette page décrit les performances approximatives que Spanner peut atteindre dans des conditions optimales, les facteurs susceptibles d'affecter ces performances ainsi que des conseils pour les tests et la résolution des problèmes associés.

Les informations de cette page s'appliquent aux bases de données Google SQL et PostgreSQL.

Améliorations des performances et du stockage

Des améliorations des performances et du stockage ont été déployées pour toutes les configurations d'instance régionales, birégionales et multirégionales Spanner. Vous n'avez pas besoin de modifier votre application ni de configurer manuellement quoi que ce soit dans vos instances Spanner pour profiter de ces améliorations, qui sont proposées sans frais supplémentaires. Ces améliorations des performances permettent d'obtenir un débit plus élevé et une latence plus faible dans les nœuds Spanner dans toutes les configurations d'instances.

Amélioration du débit des performances

Toutes les configurations d'instance Spanner ont amélioré les performances et offrent un débit accru. Le tableau suivant fournit le débit approximatif (requêtes par seconde) pour les configurations d'instances Spanner:

Type de configuration de l'instance Pic de lectures (RPS par région)   Écritures de pointe (RPS total)   Écritures de pointe à l'aide des écritures optimisées pour le débit (RPS total)
Régional 22 500 ou 3 500 22 500
Birégionale et multirégionale 15 000 ou 2 700 15 000

Pour en savoir plus sur le débit de performances de ces configurations d'instances, consultez la section Performances pour des charges de travail types.

Les instructions de lecture sont fournies par région (car les opérations de lecture peuvent être diffusées depuis n'importe quelle région en lecture/écriture ou en lecture seule), tandis que les instructions d'écriture s'appliquent à l'ensemble de la configuration. Les instructions de lecture supposent que vous lisez des lignes uniques de 1 Ko. Les instructions d'écriture supposent que vous écrivez des lignes uniques à raison de 1 Ko de données par ligne.

Les performances d'écriture maximales avec les écritures optimisées pour le débit sont obtenues avec un délai de traitement par lot de 100 ms.

En général, les débits de lecture et d'écriture d'une instance Spanner évoluent de manière linéaire lorsque vous ajoutez de la capacité de calcul (nœuds ou unités de traitement) à l'instance. Par exemple, si une instance Spanner monorégionale avec deux nœuds peut fournir jusqu'à 45 000 lectures par seconde, une instance Spanner monorégionale avec quatre nœuds peut fournir jusqu'à 90 000 lectures par seconde.

Si les performances attendues pour votre charge de travail dans Spanner ne sont pas atteintes, consultez la section Résoudre les régressions de performances pour en savoir plus sur les causes courantes.

Stockage supplémentaire

Pour toutes les configurations d'instance Spanner régionales, bi-régionales et multirégionales, chaque nœud (1 000 unités de traitement) de capacité de calcul de l'instance bénéficie d'une capacité de stockage accrue de 10 To.

Performances pour des charges de travail types

Toutes les configurations d'instance Spanner ont amélioré les performances et offrent un débit accru.

Performances des configurations régionales

Chaque millier d'unités de traitement (1 nœud) de capacité de calcul peut fournir les performances de pointe suivantes (à 100% de CPU) dans une configuration d'instance régionale:

Pic de lectures (RPS par région)   Écritures de pointe (RPS total)   Écritures de pointe à l'aide d'écritures optimisées pour le débit (RPS total)
22 500 ou 3 500 22 500

Pour les configurations d'instances régionales qui autorisent les instances dupliquées en lecture seule facultatives, ces instances peuvent prendre en charge 5 000 lectures supplémentaires par seconde.

Performances pour les configurations birégionales

Chaque millier d'unités de traitement (1 nœud) de capacité de calcul peut fournir les performances de pointe suivantes (à 100% de CPU) dans une configuration d'instance à deux régions. Utilisez les écritures optimisées pour le débit pour augmenter le débit d'écriture au-delà des chiffres indiqués dans le tableau.

Nom de la configuration de base Pic de lectures approximatif (RPS par région) Pic d'écritures approximatif (RPS total)
dual-region-australia1 15 000 2 700
dual-region-germany1 15 000 2 700
dual-region-india1 15 000 2 700
dual-region-japan1 15 000 2 700

Les instructions de lecture sont fournies par région (car les opérations de lecture peuvent être diffusées de n'importe où), tandis que les instructions d'écriture s'appliquent à l'ensemble de la configuration. Les conseils de lecture et d'écriture supposent que vous lisez et écrivez des lignes uniques à raison de 1 Ko de données par ligne.

Performances des configurations multirégionales

Chaque configuration d'instance multirégionale Spanner présente des caractéristiques de performance légèrement différentes en fonction de la topologie de réplication. Utilisez des écritures optimisées pour le débit pour augmenter le débit d'écriture au-delà des chiffres indiqués dans le tableau.

Chaque millier d'unités de traitement (1 nœud) de capacité de calcul peut fournir les performances de pointe suivantes (à 100% de CPU):

Nom de la configuration de base Pic de lectures approximatif (RPS par région) Pic d'écritures approximatif (RPS total)
asia1 15 000 2 700
asia2 15 000 2 700
eur3 15 000 2 700
eur5 15 000 2 700
eur6 15 000 
7 500 
par instance dupliquée en lecture seule facultative
2 700
nam3 15 000 
7 500 
par instance dupliquée en lecture seule facultative
2 700
nam6 15 000 en us-central1 et us-east1
7 500 dans us-west1 et us-west2 [1]
2 700
nam7 15 000 
7 500 
par instance dupliquée en lecture seule facultative
2 700
nam8 15 000 2 700
nam9 15 000 2 700
nam10 15 000 2 700
nam11 15 000 
7 500 
par instance dupliquée en lecture seule facultative
2 700
nam12 15 000 2 700
nam13 15 000 2 700
nam14 15 000 2 700
nam15 15 000 2 700
nam16 15 000 2 700
nam-eur-asia1 15 000 1 500
nam-eur-asia3 15 000 1 500
  • [1]: us-west1 et us-west2 ne fournissent que la moitié des performances des RPS, car elles contiennent une instance dupliquée par région au lieu de deux.

Les instructions de lecture sont fournies par région (car les opérations de lecture peuvent être diffusées de n'importe où), tandis que les instructions d'écriture s'appliquent à l'ensemble de la configuration. Les conseils de lecture et d'écriture supposent que vous lisez et écrivez des lignes uniques à raison de 1 Ko de données par ligne.

Exécuter vos charges de travail types sur Spanner

Exécutez toujours vos propres charges de travail types sur une instance Spanner lorsque vous planifiez la capacité afin de déterminer la meilleure allocation de ressources pour vos applications. PerfKit Benchmarker de Google utilise YCSB pour évaluer les services cloud. Vous pouvez suivre le tutoriel de PerfKitBenchmarker pour Spanner afin de créer des tests pour vos propres charges de travail. Vous devez alors régler les paramètres des fichiers de configuration d'analyse comparative yaml pour vous assurer que le benchmark généré reflète les caractéristiques suivantes dans votre environnement de production:

Reproduire les chiffres de référence

Pour reproduire les chiffres de référence, suivez le tutoriel d'analyse comparative de Spanner avec PerfKit Benchmarker à l'aide des fichiers yaml correspondants dans le dossier throughput_benchmark.

Pour comparer les instances dans une configuration d'instance ayant fait l'objet d'améliorations des performances, assurez-vous que vos tests s'exécutent dans l'une de ces configurations d'instance améliorées.

Protection contre les défaillances zonales et régionales

Lorsque vous exécutez vos charges de travail en production, il est important de provisionner suffisamment de capacité de calcul pour continuer à diffuser votre trafic en cas de perte d'une zone entière (pour les instances régionales) ou d'une région entière (pour les instances birégionales et multirégionales). Pour en savoir plus sur la valeur maximale recommandée pour le processeur, consultez la section Alertes en cas d'utilisation intensive du processeur.

Étape suivante