Préchauffer la base de données avant le lancement de l'application

Avant de lancer une application, nous vous recommandons de préchauffer votre base de données. à l'aide des chargements de données de test pour bénéficier des fonctionnalités de parallélisation de Spanner.

Spanner est une base de données distribuée. En d'autres termes, de votre base de données, Spanner répartit l'espace clé de vos données des fragments appelés splits. Chaque division est une plage de lignes contenant un sous-ensemble de votre table. En tant que Spanner répartit les données en fonction de la charge et de leur taille. Il les déplace de manière dynamique les divisions indépendamment les unes des autres et attribue les divisions les différentes ressources du serveur ; pour équilibrer la charge globale de la base de données.

Lorsque vous insérez initialement des données dans une base de données vide, Spanner écrit les données dans une seule division. La base de données est toujours à "froid" state. En tant que lorsque vous insérez davantage de données, Spanner commence à diviser ces données rééquilibrer la charge entre les autres ressources serveur disponibles. Maintenant Spanner est dans un environnement "tiède" avec répartition sur les serveurs disponibles pour optimiser le parallélisme et améliorer les performances.

Nous vous recommandons de lancer votre application lorsque Spanner est à l'état chaud, avec des divisions déjà créées et sont équilibrés entre les ressources du serveur. Afin de préparer votre base de données et de préparer vos données de test, procédez comme suit:

  1. Assurez-vous que les clés primaires que vous générez pour vos chargements de données de test se trouvent dans le même espace clé et ont les mêmes propriétés de distribution que les clés que vous utilisez pour la production du trafic.
  2. Effectuez un test de charge au plus tard deux jours avant le lancement. Exécutez le test de charge pendant au moins une heure en spécifiant le pic de charge attendu. Le test de charge amène Spanner à créer davantage de divisions en raison de la répartition basée sur la charge.
  3. Une fois le test de charge terminé, vous pouvez supprimer les lignes générées dans les tables par votre test de charge, en veillant à ne pas supprimer les tables elles-mêmes. Ainsi, les divisions seront disponibles pour votre période de lancement.