Cette page explique comment configurer le délai maximal de commit (écriture) pour optimiser le débit en écriture dans Spanner.
Présentation
Pour assurer la cohérence des données, Spanner envoie des requêtes d'écriture toutes les instances répliquées participant au vote dans la base de données. Ce processus de réplication peut avoir des calculs supplémentaires. Pour en savoir plus, consultez Réplication :
Les écritures optimisées pour le débit permettent d'amortir ces calculs en exécutant un groupe d'écritures ensemble. Pour ce faire, Spanner introduit un court délai et collecte un groupe d'écritures qui doivent être envoyés aux mêmes participants votants. L'exécution des écritures dans ce peut améliorer considérablement le débit, au prix d'une une latence accrue.
Comportement par défaut
Si vous ne définissez pas de délai de commit, Spanner peut définir un faible un retard s'il estime que cela amort le coût de vos écritures.
Cas d'utilisation courants
Vous pouvez définir manuellement le délai de vos requêtes d'écriture en fonction de votre des besoins de l'application. Vous pouvez également désactiver les délais de validation pour les applications hautement sensible à la latence en définissant le délai de validation maximal sur 0 ms.
Si votre application tolère la latence et que vous souhaitez optimiser le débit, la définition d'un délai de commit plus long améliore considérablement le débit, tandis que une latence plus élevée pour chaque écriture. Par exemple, si vous effectuez le chargement groupé d'un une grande quantité de données, et l'application ne se soucie pas de la rapidité Spanner écrit toutes les données individuelles. Vous pouvez alors définir le commit sur une valeur plus longue comme 100 ms. Nous vous recommandons de commencer par de 100 ms, puis augmentez ou diminuez la valeur jusqu'à ce que les compromis en termes de latence et de débit répondent à vos besoins. Pour la plupart des applications, une valeur comprise entre 20 ms et Nous vous recommandons une durée de 100 ms.
Si vous avez une application sensible à la latence, Spanner est aussi sensibles à la latence par défaut. En cas de charge de travail éphémère, Spanner peut définir un court délai. Vous pouvez essayer de définir de 0 ms pour déterminer si la latence réduite au prix d'une le débit est raisonnable pour votre application.
Définir des délais de commit mixtes
Vous pouvez configurer différents délais de commit max. sur des sous-ensembles de vos écritures. Dans ce cas, Spanner utilise le délai le plus court pour l'ensemble d'écritures. Toutefois, dans la plupart des cas, nous vous recommandons de ne choisir qu'une seule valeur car cela entraîne un comportement plus prévisible.
Limites
Vous pouvez définir un délai de commit compris entre 0 et 500 ms. Définir des délais de validation supérieure à 500 ms entraîne une erreur.
Définir le délai de commit maximal pour les requêtes de commit
Le paramètre de délai de commit maximal fait partie de la méthode CommitRequest
. Vous pouvez accéder
cette méthode avec l'API RPC.
l'API REST,
ou à l'aide de la bibliothèque cliente Cloud Spanner.
Go
Node.js
Python
Ruby
Surveiller la latence des requêtes d'écriture
Vous pouvez surveiller l'utilisation et la latence du processeur Spanner à l'aide du console Google Cloud. Lorsque vous définissez un délai plus long pour vos requêtes d'écriture, une utilisation du processeur potentiellement diminuer, tandis que la latence augmente. Pour en savoir plus sur la latence sur les requêtes Spanner, consultez Capturez et visualisez la latence des requêtes de l'API Spanner.