La mise à l'échelle automatique de l'environnement flexible GAE roule beaucoup plus de cas pour la charge observée

J'utilise un conteneur Docker dans la bêta GAE Flexible Environment et j'ai configuré ma mise à niveau automatique comme suit:

automatic_scaling: min_num_instances: 2 max_num_instances: 10 cool_down_period_sec: 60 cpu_utilization: target_utilization: 0.75 

Le graphique de mon CPU dans la console pour les instances correspondantes de Compute Engine VM ressemble à ceci:

Graphique d'utilisation du processeur

Et pourtant, pendant les 30 dernières minutes, GAE exécute le maximum de 10 instances. En ce qui concerne les journaux de ma request, cela ne semble pas être excessivement occupé non plus. Pourtant, cette situation se produit régulièrement.

Pourquoi le GAE est-il tellement agressif? Existe-t-il un meilleur endroit que le tableau de l'utilisation du processeur pour find datatables qu'il utilise pour gérer les décisions de mise à l'échelle?

La réponse courte est que, actuellement, l'environnement flexible utilise le moteur automatique Compute Engine, qui a le comportement suivant :

Pendant les périodes de forte utilisation du processeur, si l'utilisation atteint près de 100%, l'autoscalaire estime que le groupe peut déjà être fortement surchargé. Dans ce cas, le réducteur automatique augmente le nombre de machines virtuelles d'au less 50% ou au less 4 cas, selon la valeur la plus élevée. En général, l'utilisation de l'UC dans un groupe d'instances managées ne dépassera pas 100%.

Une façon de réduire l'agressivité de l'autoscalaire est de définir l' target_utilization à une valeur élevée. De plus amples parameters pour l'ajustement de l'autoscalaire seront ajoutés à l'avenir qui correspondent davantage aux options d'environnement standard .