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 figurant sur cette page s'appliquent à la fois à GoogleSQL et bases de données PostgreSQL.

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

Les améliorations des performances et de l'espace de stockage sont en cours de déploiement pour tous Instance Spanner régionale et multirégionale configuration. 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 se traduisent par débit plus élevé et meilleure latence dans les nœuds Spanner dans les deux des configurations d'instances régionales et multirégionales. Toutes les configurations d'instance ont augmenté le débit, et certaines ont augmenté l'espace de stockage.

Augmentation des performances du débit

Toutes les configurations d'instances Spanner ont été améliorées et offrent un débit plus élevé. 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)   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
Birégional et multirégional 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 conseils de lecture sont fournis par région (car les lectures peuvent être diffusées depuis n'importe quel lecture/écriture ou lecture seule), alors que les conseils d'écriture s'appliquent à l'ensemble configuration. Pour lire les conseils, nous partons du principe 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 maximales des écritures à débit optimisé sont atteintes 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 un serveur Spanner situé dans une seule région comportant deux nœuds peut fournir jusqu'à 45 000 lectures par seconde, puis une instance Spanner à région unique comportant 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 la plupart des instances Spanner régionales et multirégionales chaque nœud (1 000 unités de traitement) de capacité de calcul dispose d'une capacité de stockage supplémentaire de 10 To. L'espace de stockage supplémentaire est disponible pour toutes les configurations d'instance Spanner, à l'exception des suivantes :

Configuration d'instances régionales

us-west4, us-west8

Configuration d'instances multirégionales

nam10, nam-eur-asia1

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 pour les 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)   Pic d'écritures (RPS total)   Écritures de pointe à l'aide des é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 nœud de capacité de calcul de 1 000 unités de traitement peut fournir après les pics de performances (à 100% du processeur) dans une configuration d'instance birégionale. 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 conseils de lecture sont fournis par région (car les lectures peuvent être diffusées n'importe où), tandis que les conseils d'écriture s'appliquent à l'ensemble de la configuration. Lecture et écriture partent du principe que vous lisez et écrivez des lignes individuelles à 1 Ko de données par ligne.

Performances pour les configurations multirégionales

Chaque configuration d'instance multirégionale Spanner possède en fonction de la topologie de réplication. Utilisez écritures à débit optimisé augmenter le débit en écriture au-delà des chiffres de la table.

Chaque nœud de capacité de calcul de 1 000 unités de traitement 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 15 000 2 700
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
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 conseils de lecture sont fournis par région (car les lectures peuvent être diffusées n'importe où), tandis que les conseils d'écriture s'appliquent à l'ensemble de la configuration. Lecture et écriture partent du principe que vous lisez et écrivez des lignes individuelles à 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 répartition pour vos applications. PerfKit Benchmarker de Google utilise YCSB pour comparer 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 sur l'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 qui a été soumise amélioration des performances, vérifiez que vos tests sont s'exécutant 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