Как функции Azure измеряют ГБ для выставления счетов? - PullRequest
3 голосов
/ 18 июня 2019

Когда они работают с нагрузкой потребления в функциях Azure, как они фактически рассчитывают оплачиваемые единицы?

Является ли это частью SDK и измеряются ли события / время? Это хост, который профилирует процессор? Он профилирует процессор и память каждую секунду и сохраняет это? Средний это?

Я не нашел никаких ресурсов, которые бы рассказывали о том, как это на самом деле измеряется.

Я спрашиваю, потому что можно запускать код вне контекста «событий», и было бы неплохо узнать, как он оплачивается / измеряется.

1 Ответ

0 голосов
/ 18 июня 2019

Эта страница: Часто задаваемые вопросы о расходах на тарифный план содержит некоторые сведения о задействованных метриках, но не раскрывает фактические расчеты.

Как только вы учтете эту памятьиспользование может меняться со временем, расчет лучше всего описать как интеграл использования памяти во времени. Система выполняет этот расчет путем выборки использования памяти процессом (и дочерними процессами) через регулярные интервалы. Как указано на странице с ценами, использование памяти округляется до ближайшего сегмента 128 МБ (так что если вашпроцесс использует 160 МБ, вы платите за 256 МБ).Этот процесс расчета использования памяти и округления учитывает параллелизм (несколько одновременных выполнений функций в одном и том же процессе).

Они рекомендуют использовать счетчики производительности в службе приложений для своих собственных метрик, так что, возможно, этоиспользуется также для выставления счетов?Возможно, Пол Батум может поделиться некоторыми идеями?

Поскольку модули выполнения функций представляют собой комбинацию времени выполнения и использования вашей памяти, они не являются хорошим показателем для использования, когда вы пытаетесь понять только своииспользование памяти (и потенциально оптимизировать ваше приложение, чтобы использовать меньше памяти).Для этого мы рекомендуем использовать данные счетчика производительности, собранные App Insights при включении их для функций Azure.Затем вы можете получить доступ к этим данным с помощью портала App Insights Analytics, выполнив следующий запрос:

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

Очевидно, что в некоторых случаях счетчик производительности неверен, как описано в этой проблеме GitHub .

...