1 votes

Mémoire disponible dans l'environnement flexible de Google App Engine

L'environnement flexible de GAE vous permet de spécifier les ressources dont votre conteneur a besoin. Par exemple :

resources:
  cpu: 0.5
  memory_gb: 1.3
  disk_size_gb: 10

Cela permettra d'allouer g1-small avec 1,7 Go de mémoire. Cependant, si j'augmente memory_gb a 1.5 le GAE alloue maintenant n1-standard-1 avec 3,75 Go de mémoire.

Pourquoi l'ordonnanceur semble-t-il surallouer la mémoire de plus de 10 % ? Cela signifie-t-il que mon conteneur fonctionnant dans g1-small ne peut pas utiliser en toute sécurité les 1,7 Go de mémoire dont dispose l'instance ?

(La question sous-jacente est la suivante : compte tenu de la taille de la mémoire d'une instance et de son exécution dans l'environnement flexible GAE, que dois-je définir dans le tableau suivant ? node 's --max-old-space-size pour s'assurer que mon processus ne s'emballe pas ? Mais vu les réponses aux questions ci-dessus, je peux probablement trouver une solution).

3voto

Alex Points 331

Depuis hier, une nouvelle version bêta de l'environnement flexible App Engine a été déployée et ne spécifie plus le type de machine lors de la création d'une instance de conteneur. Comme décrit dans ce document "Resource Settings lien En effet, le moteur d'application se charge d'assigner une instance avec des ressources suffisantes pour garantir au moins la quantité de CPU et de mémoire que vous avez spécifiée pour votre application. Par conséquent, la quantité de mémoire que vous spécifiez pour l'instance de l memory_gb sera la quantité de mémoire disponible pour votre conteneur.

Alternativement, après avoir configuré votre application App Engine et l'avoir déployée dans le Cloud, vous pouvez effectuer les étapes suivantes pour récupérer la quantité de mémoire disponible pour votre application :

  1. Exécutez la commande :

    gcloud compute instances describe NAME [--zone=ZONE]
  2. Localiser key: gae_app_container_memory_mb

    La valeur sous gae_app_container_memory_mb représente la quantité minimale garantie de mémoire (en Mo) disponible pour votre conteneur. (voir cette lien pour plus d'informations)

En ce qui concerne vos observations précédentes, le comportement observé serait lié à la surcharge de l'instance requise pour exécuter l'environnement de l'application et donc, par précaution, il s'est avéré avoir besoin de plus de mémoire que demandé (c'est-à-dire en définissant un type d'instance GCE plus puissant).

Enfin, cette version bêta de l'environnement flexible App Engine n'est pas couverte par un accord de niveau de service ou une politique de dépréciation et la mise en œuvre peut changer, éventuellement de manière incompatible avec le passé. Par conséquent, il n'est pas recommandé de l'utiliser en production.

0 votes

Merci, je vais essayer de migrer vers env: flex DÈS QUE POSSIBLE. En attendant, j'ai essayé gcloud compute instances describe mais mes instances n'ont pas de gae_app_container_memory_mb clé. Est-ce que c'est seulement pour env: flex instances ?

0 votes

Vous avez raison, le gae_app_container_memory_mb n'est actuellement disponible que sur une instance de l'App Engine Flexible Environment.

0 votes

Je mets à jour env: flex mais maintenant les instances n'apparaissent plus dans GCE (ou dans gcloud compute instances ). J'ai essayé d'utiliser gcloud app instances describe à la place, mais j'ai rencontré un problème : code.google.com/p/google-cloud-sdk/issues/detail?id=1435 .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X