В прошлом месяце я заметил значительное увеличение моего счета за Azure из-за исходящей пропускной способности. Я использовал 1800 ГБ исходящих данных против ~ 200 ГБ в предыдущие периоды. После некоторых исследований я обнаружил, что это было вызвано службой Azure Front Door, которую я включил в прошлом месяце, и я не знал о дополнительных косвенных расходах, связанных с этой службой.
Я приведу свой анализ «проблемы» ниже, чтобы, надеюсь, другие не совершили ошибку, которую я сделал.
Azure Front Door позволяет быстро переключаться между группами (так называемыми «пулами») веб-приложений в зависимости от работоспособности приложений в пуле. Типичный сценарий отработки отказа будет между разными регионами. Если в одном регионе есть проблема, вы переключаетесь на другой регион.
Механизм, с помощью которого Front Door определяет работоспособность приложения, заключается в отправке HTTP-запроса, при котором результат 200 ОК считается работоспособным.
В тот момент, когда вы включаете переднюю дверцу Azure на своей серверной части, она начинает проверять работоспособность вашего серверного приложения, и вы, возможно, начинаете платить, поэтому я провел некоторый анализ, и вот мои выводы:
[Диапазон 4 часа, гранулярность 1 минута]
08:05 Запустил веб-приложение.
08:30 Включена служба передней двери с настройками по умолчанию (интервал = 30 секунд, размер выборки = 4, требуется успешных выборок = 2). Обратите внимание на немедленный рост количества запросов с 0 до ~140 в минуту.
09:03 Уменьшен интервал проверки работоспособности с 30 до 15 секунд. Обратите внимание на немедленный рост запросов.
09:40 В четыре раза увеличен размер конечной точки проверки работоспособности с 30 КБ до 119 КБ. Обратите внимание на немедленный рост пропускной способности.
09:55 Уменьшен размер тела конечной точки проверки работоспособности до 0 КБ. Обратите внимание на немедленное падение пропускной способности.
10:08 Увеличен интервал проверки работоспособности с 15 до 90 секунд. Обратите внимание на немедленное падение запросов.
Похоже, что пропускная способность оплачивается как исходящая пропускная способность службы приложений (или любой другой используемой службы конечной точки) сверх пропускной способности службы передней дверцы. Я думаю, это связано с тем, что передняя дверца Azure является глобальной службой и, следовательно, не привязана к региону. Эти «скрытые» платежи не упоминаются на странице с ценами.
Эта целевая страница по умолчанию приложения-функции Azure имеет размер 126 КБ:
Выводы
По умолчанию передняя дверца Azure посещает вашу конечную точку 140 раз в минуту и генерирует 20 МБ трафика в минуту (с телом размером 30 КБ). Это 27 ГБ или 1,90 евро в день (регионы ЕС/США).
Не используйте целевую страницу приложения-функции по умолчанию в качестве конечной точки проверки работоспособности (или любую большую домашнюю страницу). Я не уверен в лучших практиках, но я думаю, что настраиваемая конечная точка, которая фактически выполняет некоторую проверку работоспособности и возвращает пустое тело, была бы лучше.
Выбирайте интервал с умом. Двойной интервал = двойная стоимость пропускной способности.
Это хорошая информация, но... она здесь неуместна, так как это не вопрос программирования. Это, вероятно, будет лучше работать в виде сообщения в блоге (или дополнения к официальной документации, если вы чувствуете, что это еще не описано там).
Вы правы, это должно быть добавлено на страницу / документы с ценами на Azure, поэтому я отправил это в качестве отзыва в Microsoft. Я считаю, что SO также является хорошим местом для такого рода информации. Я рассматриваю это как создание базы знаний явно поощряется и как ответ на вопрос «Почему передняя дверца Azure генерирует так много трафика?»
Большое спасибо за размещение этого! Если интервал = 30 с, я ожидаю 2 запроса в минуту. Но вместо этого я вижу около 200 запросов в минуту, то есть в 100 раз больше! Вы предполагаете, что это связано с тем, что они представляют собой несколько конечных точек входа по всему миру, и каждая из них выполняет проверку каждые 30 секунд. В этом есть смысл. Для тех, кто будет приземляться здесь в будущем, этот связь должен быть полезен для отслеживания прогресса.
Я должен согласиться с предыдущим постером - ОЧЕНЬ большое спасибо за ваши подробности и анализ! Сэкономил мне много времени. Кажется, передняя дверь все еще довольно новая, и не очень ясно, что именно она делает все время (например, я не знаю способов проверить каждую проверку работоспособности где-нибудь на портале Azure).
Помимо частых посещений, исходящие тарифы на пропускную способность также довольно высоки, например, 20 центов за гигабайт. Сравните это с ценой здесь: azure.microsoft.com/en-us/pricing/details/пропускная способность. Azure отстой из-за того, что не предлагает лучшего решения.