4 votes

Comment les fonctions Azure mesurent-elles les gigaoctets pour la facturation ?

Lorsqu'ils tournent sur une charge de consommation dans les fonctions Azure, comment calculent-ils réellement les unités facturables?

Fait-il partie du SDK et les événements/chronométrages sont-ils mesurés? Est-ce l'hôte qui profile le CPU? Profile-t-il le CPU et la mémoire chaque seconde et les stocke-t-il? Les moyenne-t-il?

Je n'ai trouvé aucune ressource qui parle de la façon dont c'est réellement mesuré.

Je pose cette question car il est possible d'exécuter du code en dehors du contexte des "événements" et il serait préférable de savoir comment il est facturé/mesuré.

0voto

Marc Points 574

Cette page : Foire aux questions sur le coût de la facturation du plan de consommation contient quelques détails sur les métriques concernées mais ne divulgue pas le calcul réel.

Une fois que vous prenez en compte que l'utilisation de la mémoire peut changer avec le temps, le calcul est mieux décrit comme l'intégrale de l'utilisation de la mémoire dans le temps. Le système effectue ce calcul en échantillonnant l'utilisation de la mémoire du processus (et des processus enfants) à intervalles réguliers. Comme mentionné sur la page de tarification, l'utilisation de la mémoire est arrondie à la plus proche tranche de 128 Mo (donc si votre processus utilise 160 Mo, vous êtes facturé pour 256 Mo). Ce processus de calcul de l'utilisation de la mémoire et d'arrondi prend en compte la concurrence (plusieurs exécutions de fonctions simultanées dans le même processus).

Ils recommandent d'utiliser des compteurs de performance sur le service d'application pour vos propres métriques, donc peut-être que cela est également utilisé pour la facturation ? Peut-être que Paul Batum peut partager quelques informations ?

Parce que les unités d'exécution de fonction sont une combinaison du temps d'exécution et de l'utilisation de la mémoire, elles ne sont pas une excellente métrique à utiliser lorsque vous essayez seulement de comprendre votre utilisation de la mémoire (et potentiellement optimiser votre application pour utiliser moins de mémoire). Pour cela, nous vous recommandons d'utiliser les données de compteur de performance collectées par App Insights lorsque vous l'activez pour Azure Functions. Vous pouvez ensuite accéder à ces données en utilisant le portail d'analyse App Insights en exécutant la requête suivante :

performanceCounters
    | where name == "Private Bytes"
    | project timestamp, name, value, cloud_RoleInstance

Apparemment, le compteur de performance est incorrect dans certains cas comme décrit dans ce problème GitHub.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X