Présentation des performances

Cette page décrit les performances approximatives que Spanner peut fournir dans des conditions optimales, les facteurs susceptibles d'affecter les performances, ainsi que des conseils pour tester et résoudre les problèmes de performances de Spanner.

Les informations figurant sur cette page s'appliquent à la fois aux bases de données GoogleSQL et PostgreSQL.

Amélioration des performances et de l'espace de stockage

Les améliorations des performances et du stockage sont en cours de déploiement sur toutes les configurations d'instances régionales et multirégionales de Spanner. Ces améliorations des performances devraient entraîner un débit plus élevé et une meilleure latence dans les nœuds Spanner dans les configurations d'instances régionales et multirégionales. Une augmentation du débit et de l'espace de stockage est disponible dans certaines configurations d'instance. Vous n'avez pas besoin de modifier votre application ni de configurer manuellement vos instances Spanner pour bénéficier de ces améliorations, qui sont proposées sans frais supplémentaires.

Augmentation des performances du débit

Le tableau suivant indique le débit approximatif (requêtes par seconde) pour les configurations d'instance avec de meilleures performances. Chaque nœud (1 000 unités de traitement) de capacité de calcul de l'instance offre un débit jusqu'à 50 % plus élevé.

Type de configuration d'instance Pic de lectures (RPS par région)   Pic d'écritures (RPS total)   Pic d'écritures avec des écritures à débit optimisé (RPS total)
Régional 22 500 ou 3 500 22 500
Multirégional 15 000 ou 2 700 15 000

L'augmentation du débit lié aux performances est disponible pour toutes les configurations d'instances Spanner, à l'exception des suivantes:

  • Configurations d'instances régionales: us-west4

  • Configurations d'instances multirégionales: nam10, nam-eur-asia1

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

Les conseils de lecture sont fournis par région (car les lectures peuvent être diffusées à partir de n'importe quelle région de lecture/écriture ou de lecture seule), tandis que les instructions d'écriture s'appliquent à l'ensemble de la configuration. Pour lire les conseils, nous partons du principe que vous lisez des lignes uniques de 1 Ko. Les conseils d'écriture supposent que vous écrivez des lignes individuelles à raison de 1 Ko de données par ligne.

Les performances maximales des écritures à débit optimisé sont atteintes 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 à mesure que vous augmentez la capacité de calcul (nœuds ou unités de traitement) de l'instance. Par exemple, si une instance Spanner dans une seule région avec deux nœuds peut fournir jusqu'à 45 000 lectures par seconde, une instance Spanner unique dotée de quatre nœuds peut fournir jusqu'à 90 000 lectures par seconde.

Si les performances de Spanner ne vous conviennent pas pour votre charge de travail, consultez la page Résoudre les problèmes de régression des performances pour en savoir plus sur les causes courantes.

Stockage supplémentaire

Pour certaines configurations d'instance régionales et multirégionales Spanner, chaque nœud (1 000 unités de traitement) de capacité de calcul de l'instance dispose d'une capacité de stockage accrue de 10 To. Le tableau suivant présente les configurations d'instance avec davantage d'espace de stockage disponible:

Configuration d'instances régionales

africa-south1, asia-east1, asia-northeast2, asia-south1, asia-southeast1, australia-southeast1, europe-west3, europe-west4, southamerica-east1, us-central2, us-east1, us-east4, us-east7

Configuration d'instances multirégionales

asia1, nam6, nam7, nam8 et nam14

Performances pour des charges de travail types

Si la configuration d'instance que vous utilisez n'a pas connu une amélioration du débit de performances, chaque nœud (1 000 unités de traitement) de capacité de calcul de votre instance peut fournir le débit approximatif suivant (requêtes par seconde):

Type de configuration d'instance Pic de lectures (RPS par région)   Pic d'écritures (RPS total)
Régional 15 000 ou 2 300
Multirégional (répartition par configuration de base) 10 000 ou 1 800

Pour les configurations d'instance régionales autorisant les instances répliquées facultatives en lecture seule, l'instance répliquée facultative en lecture seule peut accepter 5 000 opérations de lecture supplémentaires par seconde.

Performances pour les configurations multirégionales

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

Chaque 000 unités de traitement (un nœud) de capacité de calcul peut fournir les performances maximales suivantes (à 100% du processeur):

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 pour chaque instance répliquée facultative en lecture seule
2 700
nam3 15 000
7 500 pour chaque instance répliquée facultative en lecture seule
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 pour chaque instance répliquée facultative en lecture seule
2 700
nam8 15 000 2 700
nam9 15 000 2 700
nam10 10 000 1 800
nam11 15 000
7 500 pour chaque instance répliquée facultative en lecture seule
2 700
nam12 15 000 2 700
nam13 15 000 2 700
nam14 15 000 2 700
nam15 15 000 2 700
nam-eur-asia1 10 000 1 000
nam-eur-asia3 15 000 1,500
  • [1]: us-west1 et us-west2 ne fournissent que la moitié des performances de RPS, car ils contiennent une instance répliquée par région au lieu de deux.

Les instructions de lecture sont fournies par région (car les lectures peuvent être diffusées depuis 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 individuelles à 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 lors de la planification de la capacité, afin de déterminer la meilleure allocation de ressources pour vos applications. L'outil PerfKit Benchmarker de Google utilise YCSB pour comparer les services cloud. Vous pouvez suivre le tutoriel PerfKitBenchmarker pour Spanner afin de créer des tests pour vos propres charges de travail. Vous devez ajuster les paramètres des fichiers yaml de configuration de l'analyse comparative 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 l'analyse comparative, suivez le tutoriel d'analyse comparative de Spanner avec PerfKit Benchmarker en utilisant les fichiers yaml correspondants dans le dossier throughput_benchmark.

Pour comparer les instances d'une configuration d'instance qui a subi des 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

Lors de l'exécution de vos charges de travail en production, il est important de fournir une capacité de calcul suffisante 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 multirégionales). Pour en savoir plus sur la valeur maximale recommandée, consultez la section Alertes en cas d'utilisation élevée du processeur.

Étapes suivantes