Azure Functions Premium plánu
Plán Azure Functions Elastic Premium je možnost hostování v dynamickém měřítku pro aplikace funkcí. Další možnosti plánu hostování najdete v článku o plánu hostování.
Důležité
Azure Functions běží na Azure App Service platformě. Na platformě App Service plány, které hostují Premium plán aplikací funkcí, se označují jako plány elastických Premium s názvy SKU, jako EP1 je . Pokud se rozhodnete aplikaci funkcí spustit v plánu Premium, nezapomeňte vytvořit plán s názvem SKU, který začíná na "E", například EP1 . App Service plánují SKU, které začínají na "P", například (plán Premium V2 Small), jsou ve skutečnosti P1V2 plány vyhrazeného hostování. Vzhledem k tomu, že jsou vyhrazené a ne elastické Premium, plány s názvy SKU začínající na "P" se nebudou dynamicky škálovat a mohou zvýšit vaše náklady.
Premium plán poskytuje vašim funkcím následující výhody:
- Vyhněte se studeným startům s neustále teplémi instancemi
- Připojení k virtuální síti.
- Neomezená doba trvání provádění se zaručenou 60 minutou
- Premium instancí: jedno jádro, dvě jádra a čtyři základní instance.
- Předvídatelnější ceny v porovnání s plánem Consumption
- Přidělování aplikací s vysokou hustotou pro plány s více aplikacemi funkcí
Když používáte plán Premium, instance hostitele Azure Functions se přidávají a odebraly na základě počtu příchozích událostí, stejně jako v plánu Consumption. Do stejného plánu funkce je možné nasadit více Premium funkcí a plán umožňuje nakonfigurovat velikost výpočetní instance, velikost základního plánu a maximální velikost plánu.
Fakturace
Fakturace plánu Premium vychází z počtu sekund jádra a paměti přidělené mezi instancemi. Tato fakturace se liší od plánu Consumption, který se účtuje podle spuštění a spotřebované paměti. U plánu Premium se neúčtují žádné poplatky. Pro každý plán musí být přidělena alespoň jedna instance za všech okolností. Výsledkem této fakturace jsou minimální měsíční náklady na aktivní plán bez ohledu na to, jestli je funkce aktivní nebo nečinná. Mějte na paměti, že všechny aplikace funkcí v Premium plán sdílejí přidělené instance. Další informace najdete na stránce s cenami Azure Functions.
Vytvoření Premium plánu
Při vytváření aplikace funkcí v Azure Portal výchozím plánem Consumption. Pokud chcete vytvořit aplikaci funkcí, která běží v Premium, musíte explicitně vytvořit plán App Service pomocí jedné ze SKU Elastic Premium. Aplikace funkcí, kterou vytvoříte, se pak hostuje v tomto plánu. Tento Azure Portal usnadňuje vytvoření plánu Premium a aplikace funkcí současně. Můžete spustit více aplikací funkcí ve stejném plánu Premium, ale většina z nich běží ve stejném operačním systému (Windows nebo Linuxu).
Následující články ukazují, jak vytvořit aplikaci funkcí s plánem Premium, a to buď prostřednictvím kódu programu, nebo v Azure Portal:
Eliminace studených startů
Pokud v plánu Consumption nedojde k událostem nebo spuštěním, vaše aplikace se může škálovat na nulu instancí. Když se zobrazí nové události, musí být nová instance, na které běží vaše aplikace, specializovaná. Specializace nových instancí může v závislosti na aplikaci nějakou dobu trvat. Tato další latence při prvním volání se často nazývá studený start aplikace.
Premium plán poskytuje dvě funkce, které společně eliminují studené starty ve vašich funkcích: instance připravené vždy a předem zahřejené instance.
Instance always ready
V Premium můžete mít aplikaci vždy připravenou na zadaný počet instancí. Maximální počet instancí always ready je 20. Když události začnou aplikaci aktivovat, nejprve se přesídí na instance, které jsou vždy připravené. Jakmile bude funkce aktivní, další instance se zahřeje jako vyrovnávací paměť. Tato vyrovnávací paměť zabraňuje studenému startu pro nové instance vyžadované během škálování. Tyto instance ve vyrovnávací paměti se nazývají předem zahřejené instance. Díky kombinaci vždy připravených instancí a předem zahřejené vyrovnávací paměti může vaše aplikace efektivně eliminovat studený start.
Poznámka
Každý plán Premium má za všech okolností alespoň jednu aktivní (fakturované) instanci.
Počet instancí, které jsou vždy připravené, můžete nakonfigurovat Azure Portal vaší aplikace function app, na kartě Funkce platformy a výběrem možností Škálovat na více instancí. V okně pro úpravy aplikace funkcí jsou instance připravené vždy specifické pro tuto aplikaci.

Předem zahřejené instance
Předem zahřejené instance jsou během událostí škálování a aktivace zahřejeny jako vyrovnávací paměť. Předem zahřejené instance budou dál do vyrovnávací paměti, dokud se nedosáhne maximálního limitu horizontálního navýšení velikosti. Výchozí počet zahřejených instancí je 1 a ve většině scénářů by tato hodnota měla zůstat 1.
Pokud má aplikace dlouhou dobu zahřeje (například vlastní image kontejneru), možná budete muset tuto vyrovnávací paměť zvětšit. Předem zahřejená instance se stane aktivní až po dostatečném použití všech aktivních instancí.
Představte si tento příklad toho, jak instance připravené vždy a předem zahřejené instance spolupracují. Aplikace funkcí Premium má nakonfigurovaných pět vždy připravených instancí a výchozí hodnotu jedné předem zahřejené instance. Když je aplikace nečinná a nespouštějí se žádné události, zřiní se a spustí s pěti instancemi. V tuto chvíli se vám neúčtuje předem zahřejená instance, protože instance připravené vždy se nevyužívá a není přidělena žádná předem připravená instance.
Jakmile se aktivuje první trigger, aktivuje se pět instancí, které jsou vždy připravené, a přidělí se předem zahřejená instance. Aplikace je teď spuštěná se šesti zřízenou instancí: pěti nyní aktivními instancemi, které jsou vždy připravené, a šestou předem zahřejené a neaktivní vyrovnávací paměť. Pokud se rychlost provádění bude dál zvyšovat, použije se nakonec pět aktivních instancí. Když se platforma rozhodne škálovat nad rámec pěti instancí, škáluje se na předem zahřejené instance. Když k tomu dojde, je teď šest aktivních instancí a sedmá instance se okamžitě zřídí a vyplní předem zahřejené vyrovnávací paměti. Tato posloupnost škálování a předběžného zahřejování pokračuje, dokud se nedosáhnou maximálního počtu instancí aplikace. Žádné instance nejsou předem zahřejeny nebo aktivovány nad rámec maximálního počtu instancí.
Počet předem zahřejených instancí pro aplikaci můžete upravit pomocí Azure CLI.
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.preWarmedInstanceCount=<desired_prewarmed_count> --resource-type Microsoft.Web/sites
Maximální počet instancí aplikace funkcí
Kromě maximálního počtu instancí plánu můžetenakonfigurovat maximum pro každou aplikaci. Maximální počet aplikací je možné nakonfigurovat pomocí limitu škálování aplikace.
Připojení privátní sítě
Aplikace funkcí nasazené do Premium plánu mohou využívat integraci virtuální sítě pro webové aplikace. Po nakonfigurování může aplikace komunikovat s prostředky v rámci vaší virtuální sítě nebo zabezpečená prostřednictvím koncových bodů služby. V aplikaci jsou také dostupná omezení IP adres, která omezují příchozí provoz.
Při přiřazování podsítě k vaší aplikaci funkcí v Premium plánu potřebujete podsíť s dostatečnými IP adresami pro každou potenciální instanci. Vyžadujeme blok IP adres s alespoň 100 dostupnými adresami.
Další informace najdete v tématu Integrace aplikace funkcí s virtuální sítí.
Rychlé elastické škálování
Další výpočetní instance se pro vaši aplikaci automaticky přidávají pomocí stejné logiky rychlého škálování jako plán Consumption. Aplikace ve stejné App Service se škálují nezávisle na sobě navzájem na základě potřeb jednotlivých aplikací. Pokud je to možné, aplikace Functions ve App Service plán sdílejí prostředky virtuálního počítače, aby se snížily náklady. Počet aplikací přidružených k virtuálnímu počítači závisí na stopách jednotlivých aplikací a velikosti virtuálního počítače.
Další informace o tom, jak škálování funguje, najdete v tématu Škálování řízené událostmi v Azure Functions.
Delší doba trvání
Azure Functions v plánu Consumption jsou při jednom spuštění omezené na 10 minut. V Premium plánu je výchozí doba trvání spuštění 30 minut, aby se zabránilo neschycená spuštění. Konfiguraci host.json ale můžete upravit tak, aby se doba trvání pro aplikace Premium nevázané. Pokud je nastavená doba trvání bez vázaného připojení, je zaručeno, že se vaše aplikace funkcí bude spouštět alespoň 60 minut.
Plánování a nastavení SKU
Při vytváření plánu existují dvě nastavení velikosti plánu: minimální počet instancí (nebo velikost plánu) a maximální limit shluků.
Pokud vaše aplikace vyžaduje instance nad rámec instancí, které jsou připravené vždy, může i nadále škálovat na více instancí, dokud počet instancí nedosáhne maximálního limitu shluků. Účtují se za instance přesahující váš plán jenom v době, kdy jsou spuštěné a přidělují se vám za sekundu. Platforma díky tomu nejlépe omezuje kapacitu aplikace na definovaný maximální limit.
Velikost plánu a maximum v Azure Portal můžete nakonfigurovat výběrem možností horizontálního navýšení kapacity v plánu nebo aplikace Function App nasazené do tohoto plánu (v části funkce platformy).
Můžete taky zvýšit maximální limit shluku z Azure CLI:
az functionapp plan update -g <resource_group> -n <premium_plan_name> --max-burst <desired_max_burst>
Minimální pro každý plán bude nejméně jedna instance. Skutečný minimální počet instancí, které se automaticky nakonfigurují za vás, a to v závislosti na instancích Always Reading požadovaných aplikacemi v plánu. Pokud například aplikace A požaduje pět instancí vždy připraveno a aplikace B požádá dva instance vždy připravené ve stejném plánu, bude minimální velikost plánu vypočítána jako pět. App A bude běžet na všech 5 a aplikace B bude běžet jenom na 2.
Důležité
Za každou instanci přidělenou v minimálním počtu instancí se účtuje bez ohledu na to, jestli jsou funkce spuštěné nebo ne.
Ve většině případů je toto minimální vypočítané minimum dostačující. Škálování nad rámec minima ale dosáhne nejvyšší intenzity. Je možné, že pokud nejsou k dispozici další instance, může být v určité době nepravděpodobné, že se v určitém časovém limitu může zpozdit škálování. Nastavením minimálního minimálního počtu automatického vypočítaného minima rezervujete instance předem.
Zvýšení vypočítaného minima pro plán se dá provést pomocí Azure CLI.
az functionapp plan update -g <resource_group> -n <premium_plan_name> --min-instances <desired_min_instances>
Dostupné skladové položky instance
Při vytváření nebo škálování plánu si můžete vybrat mezi třemi velikostmi instancí. Bude se vám účtovat celkový počet jader a zřízených paměti za sekundu, které jsou pro každou instanci přiděleny. Vaše aplikace se může podle potřeby automaticky škálovat na více instancí.
| SKU | Cores | Memory (Paměť) | Storage |
|---|---|---|---|
| EP1 | 1 | 3,5 GB | 250 GB |
| EP2 | 2 | 7GB | 250 GB |
| EP3 | 4 | S frekvencí | 250 GB |
Požadavky na využití paměti
Spuštění v počítači, který má více paměti, vždy neznamená, že aplikace Function App používá veškerou dostupnou paměť.
Například aplikace funkcí JavaScriptu je omezená na výchozí omezení paměti v Node.js. Pokud chcete zvýšit toto omezení pevné paměti, přidejte nastavení aplikace languageWorkers:node:arguments s hodnotou --max-old-space-size=<max memory in MB> .
a pro plány s více než 4 gb paměti zajistěte, aby nastavení platformy bitová verze bylo nastavené na 64 Bit obecné Nastavení.
Maximální horizontální navýšení kapacity oblasti
Níže jsou uvedeny aktuálně podporované maximální hodnoty škálování pro jeden plán v každé oblasti a konfiguraci operačního systému.
Prohlédněte si kompletní regionální dostupnost funkcí na webu Azure.
| Oblast | Windows | Linux |
|---|---|---|
| Austrálie – střed | 100 | Není k dispozici |
| Austrálie – střed 2 | 100 | Není k dispozici |
| Austrálie – východ | 100 | 20 |
| Austrálie – jihovýchod | 100 | 20 |
| Brazílie – jih | 100 | 20 |
| Střední Kanada | 100 | 20 |
| Indie – střed | 100 | 20 |
| USA – střed | 100 | 20 |
| Čína – východ 2 | 100 | 20 |
| Čína – sever 2 | 100 | 20 |
| Východní Asie | 100 | 20 |
| East US | 100 | 40 |
| USA – východ 2 | 100 | 20 |
| Francie – střed | 100 | 20 |
| Německo – středozápad | 100 | 20 |
| Japonsko – východ | 100 | 20 |
| Japonsko – západ | 100 | 20 |
| Jio Indie – západ | 100 | 20 |
| Jižní Korea – střed | 100 | 20 |
| Jižní Korea – jih | Není k dispozici | 20 |
| USA – středosever | 100 | 20 |
| Severní Evropa | 100 | 20 |
| Norsko – východ | 100 | 20 |
| Jižní Afrika – sever | 100 | 20 |
| Středojižní USA | 100 | 20 |
| Indie – jih | 100 | Není k dispozici |
| Southeast Asia | 100 | 20 |
| Švýcarsko – sever | 100 | 20 |
| Švýcarsko – západ | 100 | 20 |
| Spojené arabské emiráty sever | 100 | 20 |
| Spojené království – jih | 100 | 20 |
| Spojené království – západ | 100 | 20 |
| USGov Arizona | 100 | 20 |
| USGov Texas | 100 | Není k dispozici |
| USGov Virginie | 100 | 20 |
| USA – středozápad | 100 | 20 |
| West Europe | 100 | 20 |
| Západní Indie | 100 | 20 |
| USA – západ | 100 | 20 |
| Západní USA 2 | 100 | 20 |
| Západní USA 3 | 100 | 20 |