Cette page décrit les métriques d'utilisation du processeur fournies par Spanner. Vous pouvez afficher ces métriques dans Google Cloud Console et dans la console Cloud Monitoring.
Utilisation du processeur et priorité des tâches
Spanner mesure l'utilisation du processeur en fonction de la source et de la priorité de la tâche.
Source : une tâche peut être lancée par l'utilisateur ou par le système.
Priorité : la priorité permet à Spanner de déterminer les tâches à exécuter en premier. La priorité des tâches système est prédéterminée et ne peut pas être configurée. Les tâches utilisateur sont exécutées avec une priorité élevée, sauf indication contraire. De nombreuses requêtes de données, telles que read et executeSql, vous permettent de spécifier une priorité inférieure pour la requête. Cela peut être utile, par exemple, lorsque vous exécutez des requêtes par lot, des requêtes de maintenance ou des requêtes d'analyse, qui ne présentent pas de SLO stricts en termes de performances.
Les tâches à priorité élevée sont généralement exécutées avant les tâches à faible priorité. Spanner permet aux tâches à priorité élevée utiliser jusqu'à 100% des ressources de processeur disponibles, même les tâches de priorité inférieure. Bien que les tâches système à faible priorité puissent être retardées à court terme, elles doivent toutefois être exécutées à terme. Vous devez donc provisionner une instance disposant d'une capacité de calcul suffisante pour gérer toutes les tâches.
S'il n'y a pas de tâches à priorité élevée, Spanner utilisera jusqu'à 100 % des ressources de processeur disponibles pour traiter plus rapidement des tâches de moindre priorité. Des pics d'utilisation en arrière-plan ne traduisent alors pas l'existence d'un problème. Les tâches à faible priorité peuvent céder le pas presque instantanément aux tâches de priorité supérieure, y compris les tâches utilisateur.
Le tableau suivant présente des exemples pour chaque tâche :
Tâches utilisateur | Tâches système | |
---|---|---|
Priorité élevée | Inclut les requêtes de données, telles que read ou executeSql, où aucune priorité n'est définie ou PRIORITY_HIGH est spécifié. | Inclut la répartition des données. |
Priorité moyenne |
Contenu de la boîte:
|
Inclut :
|
Priorité faible | Inclut les demandes de renseignements pour lesquelles PRIORITY_LOW est spécifié. |
Inclut :
|
Métriques disponibles
Spanner fournit les métriques d'utilisation du processeur suivantes :
Utilisation lissée du processeur : moyenne glissante de l'utilisation totale du processeur, exprimée en pourcentage des ressources de processeur de l'instance, pour chaque base de données. Chaque point de données correspond au taux d'utilisation moyen relevé pour les 24 heures précédentes. Utilisez cette métrique pour créer des alertes et analyser l'utilisation du processeur sur une longue période, par exemple 24 heures. Vous pouvez afficher un graphique pour cette métrique dans la console Google Cloud ou dans la console Cloud Monitoring en tant que Moyenne glissante de 24 heures.
Utilisation du processeur suivant le niveau de priorité : utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupées par priorité, par tâches lancées par l'utilisateur et par tâches lancées par le système. Utilisez cette métrique pour créer des alertes et analyser l'utilisation du processeur à un niveau global. Vous pouvez afficher un graphique pour cette métrique dans la console Google Cloud ou dans la Console Cloud Monitoring.
Utilisation du processeur par type d'opération : utilisation du processeur, exprimée en pourcentage des ressources de processeur de l'instance, regroupées par opérations lancées par l'utilisateur telles que les lectures, les écritures et les commits. Utilisez cette métrique pour obtenir une répartition détaillée de l'utilisation du processeur et pour résoudre les problèmes, comme expliqué dans la section Enquêter sur une utilisation élevée du processeur. Vous pouvez créer un graphique pour cette métrique dans la console Cloud Monitoring.
Vous pouvez également utiliser la console Cloud Monitoring pour créer des alertes relatives aux processeurs , comme décrit plus loin.
Alertes en cas d'utilisation intensive du processeur
Le tableau suivant indique nos recommandations pour une utilisation maximale du processeur pour instances régionales, birégionales et multirégionales. Ces valeurs permettent de garantir que votre instance dispose d'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 birégionales et multirégionales).
Métrique | Maximum pour les instances régionales | Maximum par région pour les instances birégionales et multirégionales |
---|---|---|
Total priorité élevée | 65 % | 45 % |
Agrégation lissée sur 24 heures | 90 % | 90 % |
Pour ne pas dépasser les limites recommandées, créez dans Cloud Monitoring des alertes qui suivent l'utilisation du processeur par des tâches à priorité élevée et l'utilisation moyenne du processeur sur une période de 24 heures.
L'utilisation du processeur peut avoir un impact sur les temps de latence des requêtes. La surcharge d'un serveur backend individuel entraînera en effet une latence plus élevée des requêtes. Applications exécuter des analyses comparatives et une surveillance active pour vérifier que Spanner répond à ses exigences de performances.
Par conséquent, pour les applications sensibles aux performances, vous devrez peut-être réduire davantage l'utilisation du processeur à l'aide des techniques décrites dans la section suivante.
Utilisation du processeur supérieure à 100 %
Dans certains cas, l'utilisation du processeur d'une instance Spanner peut dépasser 100 %. Cela signifie que l'instance utilise plus de ressources de processeur configuré pour l'instance.
Les ressources de processeur supérieures à 100 % peuvent être utilisées pour fournir des performances meilleures et plus prévisibles lors des pics d'utilisation du processeur, par exemple en raison d'une augmentation soudaine du trafic de requêtes.
Toute capacité de processeur supérieure à 100% n'est PAS garantie et ne doit pas être utilisée pour opérations de base de données normales.
Exécuter une instance Spanner avec une utilisation du processeur proche de 100 % ou supérieure pendant une longue période risque de dégrader les performances et la latence normales. Les ressources de processeur supplémentaires ne constituent pas un mécanisme sûr sur lequel s'appuyer pour des performances cohérentes.
Cette utilisation supplémentaire du processeur n'est pas facturée aux clients.
Réduire l'utilisation du processeur
Cette section explique comment réduire l'utilisation du processeur d'une instance.
En règle générale, nous vous recommandons de commencer par augmenter la capacité de calcul de votre instance. Une fois que vous avez augmenté la capacité de calcul, vous pouvez examiner et traiter les causes premières d'une utilisation élevée du processeur.
Augmenter la capacité de calcul
Si vous dépassez les valeurs maximales recommandées en termes d'utilisation du processeur, nous vous conseillons vivement d'augmenter la capacité de calcul de l'instance afin qu'elle puisse continuer à fonctionner efficacement. Si vous souhaitez automatiser ce processus, vous pouvez créer une application qui surveille l'utilisation du processeur, puis augmente ou diminue la capacité de calcul en fonction des besoins à l'aide de la méthode UpdateInstance
.
Pour déterminer la capacité de calcul dont vous avez besoin, tenez compte à la fois de l'utilisation maximale du processeur par les tâches à priorité élevée et de la moyenne lissée sur 24 heures. Allouez toujours une capacité de calcul suffisante pour que l'utilisation du processeur reste inférieure aux valeurs maximales recommandées. Comme décrit précédemment, vous devrez peut-être allouer de la capacité de calcul supplémentaire pour les applications sensibles aux performances (par exemple, pour gérer les pics de charge de travail).
Si vous ne disposez pas d'une capacité de calcul suffisante, Spanner reporte les tâches niveau de priorité. Les tâches système à faible priorité, telles que le compactage de base de données et la validation de modifications de schéma, peuvent être différées en faveur des tâches utilisateur. Cependant, ces tâches demeurent essentielles au bon état général de votre instance et Spanner ne peut pas les reporter indéfiniment. Si Spanner ne parvient pas à terminer son système à faible priorité des tâches au cours d'une certaine fenêtre de temps, de l'ordre de plusieurs heures à une journée, en raison de de ressources de calcul insuffisantes, Spanner peut augmenter la priorité les tâches du système. Cette modification affecte les performances des tâches utilisateur.
Enquêter davantage avec les outils d'introspection
Si la métrique Utilisation du processeur par type d'opération indique qu'un compte d'opération entraîne une utilisation élevée du processeur, utilisez la clé les outils d'introspection pour résoudre les problèmes. Pour en savoir plus, consultez la page Enquêter sur une utilisation élevée du processeur.
Étape suivante
- surveiller votre instance avec la console Google Cloud ; la console Cloud Monitoring.
- Créez des alertes pour l'utilisation du processeur Spanner.
- Découvrez comment modifier la capacité de calcul d'un Cloud Spanner.
Découvrez comment trouver des corrélations entre la latence élevée et d'autres métriques.
Pour savoir comment résoudre un problème d'utilisation élevée du processeur causée par un type d'opération particulier, consultez la page Enquêter sur une utilisation élevée du processeur.