Surveillance de l'utilisation et de la disponibilité de la mémoire pour les accès simultanés provisionnés

Découvrez comment surveiller l'utilisation et la disponibilité de la mémoire pour l'accès simultané provisionné par le service des fonctions pour OCI.

Le service des fonctions pour OCI a une limite pour la quantité totale de mémoire disponible pour l'accès simultané provisionné pour toutes les fonctions d'une région. La limite est nommée provisioned-concurrency-mb et indique la quantité maximale de mémoire pouvant être allouée pour la simultanéité provisionnée.

La limite de mémoire en Mo associée à la concurrence provisionnée a une valeur par défaut, comme indiqué dans Limites de fonction. La valeur par défaut a peut-être déjà été augmentée dans votre location, peut-être en réponse à des demandes de soutien qui ont été enregistrées à des occasions précédentes lorsque la capacité de mémoire a été dépassée.

Vous pouvez utiliser la console pour voir la valeur courante de la limite de mémoire en Mo d'accès simultané provisionné dans une région (voir Consultation de la limite de mémoire courante pour les accès simultanés provisionnés).

Si le service des fonctions pour OCI a besoin de plus de mémoire pour la simultanéité provisionnée afin d'éviter la latence initiale lors de l'appel de fonctions, vous pouvez soumettre une demande d'augmentation de la limite de mémoire (mb) de la simultanéité provisionnée (voir Demande d'une augmentation de limite de service).

Au lieu d'attendre que la limite de mémoire en Mo provisionnée soit atteinte, puis de répondre aux exigences, vous pouvez utiliser Oracle Cloud Infrastructure Monitoring et la mesure AllocatedProvisionedConcurrency pour surveiller la quantité de mémoire disponible pour l'accès simultané provisionné a été affectée. Notez que la valeur de la mesure AllocatedProvisionedConcurrency est la quantité de mémoire allouée. La quantité de mémoire actuellement utilisée pour les accès simultanés provisionnés est toujours inférieure ou égale à la valeur de la mesure AllocatedProvisionedConcurrency. Pour plus d'informations, voir Consultation de la quantité de mémoire récemment affectée pour l'exécution de fonction concurrente.

Vous pouvez également utiliser la mesure AllocatedProvisionedConcurrency pour créer une alarme pour vous aviser si l'affectation de mémoire simultanée provisionnée dépasse un seuil que vous définissez. Pour plus d'informations, voir Création d'une alarme de seuil d'affectation de mémoire d'accès simultané provisionnée.

Affichage de la limite de mémoire courante pour les accès simultanés provisionnés

Pour voir la limite de mémoire courante pour les accès simultanés provisionnés :

  1. Ouvrez le menu de navigation et sélectionnez Gouvernance et administration. Sous Gestion des locations, sélectionnez Limites, quotas et utilisation.

  2. Sélectionnez Fonctions dans la liste Service.
  3. Sélectionnez la région dans la liste Portée.

  4. Sélectionnez le compartiment racine dans la liste Compartiment.

    La limite provisioned-concurrency-mb affiche la limite de mémoire courante pour la simultanéité provisionnée.

  5. (Facultatif) Pour demander de la mémoire supplémentaire pour l'accès simultané provisionné, sélectionnez le menu Actions (trois points) à côté de la limite provisioned-concurrency-mb, sélectionnez Open Support Request et suivez les instructions.

Affichage de la quantité de mémoire récemment affectée pour les accès simultanés provisionnés

Pour voir la quantité de mémoire récemment affectée pour la concurrence provisionnée :

  1. Ouvrez le menu de navigation et sélectionnez Observabilité et gestion. Sous Surveillance, sélectionnez Explorateur de mesures.

  2. Utilisez les champs Heure de début et Heure de fin pour spécifier une période représentative à analyser.
  3. Dans le panneau Interrogation 1, créez une interrogation comme suit :
    1. Pour Compartiment, sélectionnez le compartiment racine.
    2. Pour Espace de noms de mesure, sélectionnez oci_faas.
    3. Sélectionnez l'option Mode avancé et entrez l'une des interrogations suivantes dans l'éditeur de code d'interrogation :
      • Pour afficher la quantité totale de mémoire affectée pour la simultanéité provisionnée pour toutes les fonctions de la location à des intervalles de 5 minutes, pendant la période que vous avez spécifiée, entrez l'interrogation suivante :
        AllocatedProvisionedConcurrency[5m].groupBy(resourceId).max().grouping().sum()
      • Pour afficher la quantité totale de mémoire allouée pour la simultanéité provisionnée pour une fonction spécifique, à des intervalles de 5 minutes, pendant la période spécifiée, entrez l'interrogation suivante :
        AllocatedProvisionedConcurrency[5m]{resourceId = "<function-OCID>"}.max()

        <function-OCID> est l'OCID d'une fonction. Par exemple :

        AllocatedProvisionedConcurrency[5m]{resourceId = "ocid1.fnfunc.oc1.phx.aaaa____uxoa"}.max()
  4. Sélectionnez Mettre à jour le graphique.

    Le graphique est mis à jour et affiche la quantité de mémoire allouée pour l'accès simultané provisionné, au cours de la période sélectionnée.

Création d'une alarme de seuil d'affectation de mémoire d'accès simultané provisionnée

Pour créer une alarme qui se déclenche lorsque l'allocation de mémoire simultanée provisionnée dépasse un seuil que vous définissez :

  1. Ouvrez le menu de navigation et sélectionnez Observabilité et gestion. Sous Surveillance, sélectionnez Définition d'alarmes.

  2. Sélectionnez Créer une alarme.
  3. Pour Nom de l'alarme, entrez un nom significatif pour l'alarme. Évitez d'entrer des informations confidentielles.
  4. Sélectionnez l'option Passer en mode avancé.
  5. Dans la zone Détails de la mesure, spécifiez la mesure à évaluer pour l'alarme, comme suit :
    1. Pour Compartiment, sélectionnez le compartiment racine.
    2. Pour Espace de noms de mesure, sélectionnez oci_faas.
  6. Dans la zone Règle de déclenchement, spécifiez la condition devant être satisfaite pour que l'alarme se déclenche :
    • Minutes de délai de déclenchement : Entrez le nombre de minutes pendant lequel la condition doit être maintenue pour que l'alarme se déclenche.
    • Gravité de l'alarme : Sélectionnez l'importance à accorder à un avis indiquant que l'alarme a été déclenchée.
    • Éditeur de code d'interrogation : Entrez une interrogation pour définir une condition qui, lorsqu'elle est satisfaite, déclenche l'alarme, comme suit :

      • Si vous voulez que l'alarme se déclenche lorsque l'allocation de mémoire pour l'accès simultané provisionné dépasse une certaine quantité, entrez l'interrogation suivante :
        AllocatedProvisionedConcurrency[5m].grouping().sum() > <memory-threshold>

        <memory-threshold> est une quantité de mémoire (dans MiB) à utiliser comme seuil, au-dessus de laquelle vous voulez déclencher l'alarme.

        Par exemple, vous pouvez vouloir déclencher une alarme lorsque la quantité de mémoire allouée pour la concurrence provisionnée dépasse 70 % de la mémoire totale disponible pour la concurrence provisionnée. Si la mémoire totale pour la concurrence provisionnée est de 40 Go (soit 40 960 MiB), entrez l'interrogation suivante :

        AllocatedProvisionedConcurrency[5m].grouping().sum() > 28672
      • Si vous voulez que l'alarme se déclenche lorsque l'allocation de mémoire pour l'accès simultané provisionné pour une fonction spécifique dépasse un certain nombre, entrez l'interrogation suivante :
        AllocatedProvisionedConcurrency[5m]{resourceId = "<function-OCID>"}.max() > <memory-threshold>
        où :
        • <function-OCID> est l'OCID de la fonction
        • <memory-threshold> est une quantité de mémoire (dans MiB) à utiliser comme seuil, au-dessus de laquelle vous voulez déclencher l'alarme.

        Par exemple, vous pouvez vouloir déclencher une alarme lorsque la quantité de mémoire allouée pour la concurrence provisionnée pour une fonction unique dépasse 10 % de la mémoire totale disponible pour la concurrence provisionnée. Si la mémoire totale disponible pour la concurrence provisionnée est de 40 Go (soit 40 960 MiB), entrez l'interrogation suivante :

        AllocatedProvisionedConcurrency[5m]{resourceId = "ocid1.fnfunc.oc1.phx.aaaa____uxoa"}.max() > 4096
  7. Sélectionnez l'option Passer au mode de base.
  8. Dans la zone Définir des avis d'alarme :
    1. Pour Destination, spécifiez l'endroit où les avis sont envoyés lorsque l'alarme se déclenche :
      • Service de destination : Sélectionnez Avis.
      • Compartiment : : Sélectionnez le compartiment contenant les ressources qui émettent les mesures évaluées par l'alarme. Le compartiment sélectionné est également l'emplacement de stockage de l'alarme.
      • Sujet : Sujet à utiliser pour les avis. Chaque sujet prend en charge un ou plusieurs protocoles d'abonnement, par exemple PagerDuty. Si un sujet approprié n'existe pas déjà, sélectionnez Créer un sujet et définissez un nouveau sujet. Pour plus d'informations, voir Création d'une alarme de base.
    2. Pour Regroupement de messages, sélectionnez l'une des options suivantes :
      • Regrouper les avis de tous les flux de mesure : Effectuer le suivi collectif du statut des mesures dans tous les flux de mesure. Envoyer un message lorsque le statut des mesures change dans tous les flux de mesures.
      • Fractionner les avis par flux de mesure : Effectuer le suivi individuel du statut des mesures par flux de mesure. Envoyer un message lorsque le statut des mesures change pour chaque flux de mesures. Pour un exemple, voir Scénario : Fractionner les messages par flux de mesures.
    3. Pour Format de message, sélectionnez l'une des options suivantes :
      • envoyer des messages formatés : Disposition conviviale et simplifiée. Pour consulter les protocoles d'abonnement et les types de message pris en charge pour les messages formatés (options autres que Brut), voir Formatage convivial.
      • Envoyer des messages JSON embellis (texte brut avec saut de ligne) : JSON avec nouvelles lignes et indentations.
      • Envoyer des messages bruts : Objet BLOB JSON brut.
    4. Pour supprimer les évaluations et les avis pour une durée spécifiée, sélectionnez Supprimer les avis. Cette option est utile pour éviter les avis d'alarme lors des périodes de maintenance du système. Indiquez une heure de début, une heure de fin et une description facultative. Voir Meilleures pratiques pour les alarmes et Suspension d'une seule alarme.
    5. Pour enregistrer l'alarme sans commencer à évaluer les données de mesure, décochez la case Activer cette alarme?.
  9. Sélectionnez Enregistrer l'alarme.