Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure důvěrné hlavní knihy omezuje počet registrů v předplatném a data a kód, které registru ukládá, aby byl výkon a dostupnost všech registrů předvídatelný. Tento článek popisuje tato omezení, jak hlavní kniha reaguje, když je požadavek překročí a jaký výkon má od hlavní knihy očekávat.
Note
Omezení v tomto článku jsou výchozí. V některých případech může mít jednotlivá kniha různá omezení, například registr vytvořený před zavedením limitu. Pokud chcete požádat o vyšší limity nebo diskutovat o omezeních, kontaktujte podpora Azure.
Limity předplatného
Následující limit platí pro každé předplatné Azure.
| Limit | Value |
|---|---|
| Hlavní knihy na předplatné | 2 |
Omezení dat registru
Následující omezení platí pro všechny hlavní knihy ve výchozím nastavení.
| Limit | Výchozí hodnota | Kód chyby |
|---|---|---|
| Kolekce na hlavní knihy | 5 000 | CollectionCapacityExceeded |
| Délka ID kolekce | 256 bajtů | CollectionIdTooLong |
| Velikost obsahu položky registru | 8 KiB (8 192 bajtů) | EntrySizeCapacityExceeded |
| Značky na hlavní knihy (pouze veřejné knihy) | 10,000 | TagCapacityExceeded |
- Kolekce na hlavní knihy: Výchozí kolekce se nezapočítává. Když hlavní kniha dosáhne limitu, zápisy, které by vytvořily novou kolekci, budou odmítnuty. Zápisy do existujících kolekcí jsou stále úspěšné.
- Délka ID kolekce: Délka se měří v bajtech kódovaného ID UTF-8 po dekódování adresy URL. Limit platí jenom v případě, že zápis vytvoří novou kolekci, takže můžete pokračovat v zápisu do kolekcí vytvořených před zavedením tohoto limitu a číst je z kolekcí.
-
Velikost obsahu položky registru: Velikost se měří v bajtech kódované
contentshodnoty UTF-8 po dekódování JSON. Obsah přesně 8 192 bajtů je přijat. Omezení platí pro zápisy do nových i existujících kolekcí. ID kolekce, značky a další pole požadavku se do tohoto limitu nezapočítávají. Na celou žádost se vztahuje také maximální velikost textu požadavku hlavní knihy. -
Značky na hlavní knihy: Značka se počítá jednou pro každou kolekci, která ji používá. Například značka
chocolatepoužitá ve dvou kolekcích se počítá jako dvě značky. Když hlavní kniha dosáhne limitu, zápisy, které by do kolekce přidaly novou značku, budou odmítnuty. Zápis bez značek nebo se značkami, které už kolekce používá, je stále úspěšná.
Zápis, který překračuje limit, se odmítne se stavovým kódem HTTP 400 (Chybný požadavek) a do registru se nic nezapíše. Odpověď obsahuje kód chyby a zprávu, která obsahuje limit, který platí pro hlavní knihy. Příklady:
{
"error": {
"code": "EntrySizeCapacityExceeded",
"message": "Entry contents of 9000 bytes exceed the limit of 8192 bytes."
}
}
Omezení značek na zápis
Značky se podporují jenom u veřejných registrů. Následující omezení platí pro každou veřejnou registr.
| Limit | Value |
|---|---|
| Značky na zápis | 5 |
| Délka značky | 63 znaků |
Značky nemohou být prázdné a mohou obsahovat pouze znaky A–Z, a–z, 0–9, -, _, .a ~. Zápis, který překračuje tato omezení nebo obsahuje neplatnou značku, je odmítnut se stavovým kódem HTTP 400 a kódem NotAllowed chyby.
Omezení uživatelem definovaných funkcí
Následující omezení platí pro uživatelem definované funkce (UDF) v každém registru. Požadavky, které je překračují, jsou odmítnuty se stavovým kódem HTTP 400.
| Limit | Value | Kód chyby |
|---|---|---|
| UDF na hlavní knihy | 100 | UserDefinedFunctionCapacityExceeded |
| Délka ID definovaného uživatelem | 256 bajtů | InvalidFunctionId |
| Velikost kódu UDF | 64 KiB (65 536 bajtů) | InvalidInput |
| Pre-hooks per write | 5 | InvalidInput |
| Post-hooks per write | 5 | InvalidInput |
Limity počtu a délky ID definované uživatelem platí jenom při vytváření funkce definované uživatelem. Pokud se jeho kód vejde do 64 KiB, můžete i tak aktualizovat existující uživatelem definovanou uživatelem.
Možnosti modulu runtime, které se použijí při spuštění funkce definované uživatelem, najdete v tématu Spouštění funkcí definovaných uživatelem. Další informace o předpohovkách a post-hooks naleznete v tématu Transakce háky.
Možnosti modulu runtime uživatelem definovaného koncového bodu
Hodnoty nastavené PATCH /app/userDefinedEndpoints/runtimeOptions musí být v následujících oblastech. V opačném případě se požadavek odmítne se stavovým kódem HTTP 400 a kódem InvalidInput chyby. Jsou zaškrtnuty pouze možnosti, jejichž hodnota se změní.
| Možnost modulu runtime | Povolené hodnoty |
|---|---|
max_heap_bytes |
Až 209 715 200 (200 MiB) |
max_stack_bytes |
1 až 10 485 760 (10 MiB) |
max_execution_time_ms |
Až 10 000 (10 sekund) |
max_cached_interpreters |
1 až 20 |
Performance
Výkon registru závisí na vaší úloze, jako je například velikost položek, počet požadavků, které odesíláte souběžně, a kombinaci čtení a zápisů. Následující doprovodné materiály poskytují obecnou představu o tom, co očekávat. Není to záruka.
Propustnost
- Hlavní kniha může udržovat stovky zápisů za sekundu. Menší položky a souběžné požadavky zvyšují míru. Zápisy, které spouští uživatelem definované funkce, trvá déle v závislosti na kódu funkcí.
- Čtení nejnovější položky kolekce používá méně prostředků než zápis, takže hlavní kniha může obvykle obsluhovat více těchto požadavků. Získání položky podle ID transakce, získání potvrzení a dotazy rozsahu používají více prostředků než čtení nejnovější položky, protože hlavní kniha nejprve načte data z úložiště. Vysoká míra těchto požadavků snižuje propustnost zbývající pro zápisy.
- Klient, který čeká na každou odpověď před odesláním dalšího požadavku, je omezen jeho dobou odezvy do registru. Pokud chcete hlavní knihy využívat co nejvíce, posílejte žádosti souběžně a opakovaně používejte připojení.
Pokud vaše úloha potřebuje trvalou vysokou propustnost, otestujte ji na registru před přechodem do produkčního prostředí. Pokud potřebujete větší propustnost, kontaktujte podpora Azure.
Latency
- Ve výchozím nastavení se žádost o zápis vrátí, jakmile hlavní kniha přijme zápis, a hlavní kniha potvrdí zápis krátce po. Než se spoléháte na zápis, například k získání jeho potvrzení, zkontrolujte, zda je
Committedjeho stav . Klientské knihovny můžou čekat na potvrzení za vás. - Získání položky podle ID transakce, získání potvrzení a dotazy rozsahu se můžou vrátit
Loadingjako první, zatímco hlavní kniha načte data. Opakujte požadavek do jedné minuty, dokud nevrátí výsledek. - Latence také závisí na vzdálenosti a zatížení. Každé nové připojení potřebuje metodu handshake protokolu TLS s registrem, takže znovu použijte připojení a spusťte klienty v blízkosti oblasti registru. Očekáváme, že se latence zvýší, protože zatížení registru se blíží tomu, co může udržet.