Zásady limitů žádostí
Zásady omezení požadavků skupiny úloh umožňují omezit prostředky používané požadavkem během jeho provádění.
Objekt zásad
Každý limit se skládá z:
- Typovaný
Value
– hodnota limitu. IsRelaxable
– logická hodnota, která definuje, jestli může volající limit uvolnit jako součást vlastností požadavku.
Konfigurovatelná jsou následující omezení:
Vlastnost | Typ | Description | Podporované hodnoty | Odpovídající vlastnost požadavku klienta |
---|---|---|---|---|
DataScope | string |
Obor dat dotazu. Tato hodnota určuje, jestli se dotaz vztahuje na všechna data, nebo jenom na horkou mezipaměť. | All , HotCache nebo null |
query_datascope |
MaxMemoryPerQueryPerNode | long |
Maximální velikost paměti (v bajtech), kterou může dotaz přidělit. | [1 , 50 % celkové paměti RAM jednoho uzlu] |
max_memory_consumption_per_query_per_node |
MaxMemoryPerIterator | long |
Maximální velikost paměti (v bajtech), kterou může operátor dotazu přidělit. | [1 , 50 % celkové paměti RAM jednoho uzlu] |
maxmemoryconsumptionperiterator |
MaxFanoutThreadsPercentage | int |
Procento vláken na každém uzlu, do které se má rozdávat provádění dotazů. Pokud je nastavená hodnota 100 %, cluster přiřadí všechny procesory na každém uzlu. Například 16 procesorů v clusteru nasazeného v uzlech Azure D14_v2. | [1 , 100 ] |
query_fanout_threads_percent |
MaxFanoutNodesPercentage | int |
Procento uzlů v clusteru, na které se má spustit dotaz. Funguje podobným způsobem jako MaxFanoutThreadsPercentage . |
[1 , 100 ] |
query_fanout_nodes_percent |
MaxResultRecords | long |
Maximální počet záznamů, které může požadavek vrátit volajícímu, nad kterými se výsledky zkrátí. Limit zkrácení ovlivňuje konečný výsledek dotazu, který se doručí zpět klientovi. Limit zkrácení se ale nevztahuje na mezivýsledky poddotazů, jako jsou ty, které jsou výsledkem odkazů mezi clustery. | [1 , 9223372036854775807 ] |
truncationmaxrecords |
MaxResultBytes | long |
Maximální velikost dat (v bajtech), kterou může požadavek vrátit volajícímu, nad kterou se výsledky zkrátí. Limit zkrácení ovlivňuje konečný výsledek dotazu, který se doručí zpět klientovi. Limit zkrácení se ale nevztahuje na mezivýsledky poddotazů, jako jsou ty, které jsou výsledkem odkazů mezi clustery. | [1 , 9223372036854775807 ] |
truncationmaxsize |
MaxExecutionTime | timespan |
Maximální doba trvání požadavku. Poznámky: 1) Můžete ho použít k tomu, abyste nad výchozí limity doby provádění umístili další limity, ale neprodlužovali je. 2) Zpracování časového limitu není v rozlišení sekund, ale je navržené tak, aby zabránilo spuštění dotazu po dobu několika minut. 3) Doba potřebná ke čtení datové části v klientovi není považována za součást časového limitu. Záleží na tom, jak rychle volající načítá data ze streamu. 4) Celková doba provádění může překročit nakonfigurovanou hodnotu, pokud dokončení přerušení provádění trvá déle. |
[00:00:00 , 01:00:00 ] |
servertimeout |
Poznámka
Omezení, které není definováno nebo je definováno jako null
, je převzato ze default
zásad omezení požadavků skupiny úloh.
Využití prostředků procesoru
Dotazy můžou využívat všechny prostředky procesoru v rámci clusteru. Pokud je ve výchozím nastavení spuštěno více dotazů současně, používá systém k distribuci prostředků metodu spravedlivého kruhového dotazování. Tato strategie je optimální pro dosažení vysokého výkonu u ad hoc dotazů.
Existují však scénáře, ve kterých můžete chtít omezit prostředky procesoru přidělené konkrétnímu dotazu. Například pokud spouštíte úlohu na pozadí, která dokáže pojmout vyšší latence. Zásady limitů požadavků poskytují flexibilitu k určení nižšího procenta vláken nebo uzlů, které se mají použít při provádění distribuovaných poddotazních operací. Výchozí nastavení je 100 %.
Skupina default
úloh
Skupina default
úloh má ve výchozím nastavení definované následující zásady. Tuto zásadu je možné změnit.
{
"DataScope": {
"IsRelaxable": true,
"Value": "All"
},
"MaxMemoryPerQueryPerNode": {
"IsRelaxable": true,
"Value": < 50% of a single node's total RAM >
},
"MaxMemoryPerIterator": {
"IsRelaxable": true,
"Value": 5368709120
},
"MaxFanoutThreadsPercentage": {
"IsRelaxable": true,
"Value": 100
},
"MaxFanoutNodesPercentage": {
"IsRelaxable": true,
"Value": 100
},
"MaxResultRecords": {
"IsRelaxable": true,
"Value": 500000
},
"MaxResultBytes": {
"IsRelaxable": true,
"Value": 67108864
},
"MaxExecutiontime": {
"IsRelaxable": true,
"Value": "00:04:00"
}
}
Poznámka
- Omezení ve skupině
default
úloh musí být definovanánull
a nesmí mít hodnotu. - Všechna omezení ve skupině
default
úloh jsou nastavenáIsRelaxable
natrue
. - Limity požadavků jsou vypnuté pro konkrétní typy příkazů v rámci
default
skupiny úloh, jako.export
jsou příkazy a ingestování z příkazů dotazů , jako jsou.set-or-append
a.set-or-replace
. Když jsou tyto příkazy přiřazené k jiné než výchozí skupině úloh, začnou platit omezení požadavků zadaná v zásadách.
Příklad
Následující kód JSON představuje vlastní objekt zásad omezení požadavků:
{
"DataScope": {
"IsRelaxable": true,
"Value": "HotCache"
},
"MaxMemoryPerQueryPerNode": {
"IsRelaxable": true,
"Value": 2684354560
},
"MaxMemoryPerIterator": {
"IsRelaxable": true,
"Value": 2684354560
},
"MaxFanoutThreadsPercentage": {
"IsRelaxable": true,
"Value": 50
},
"MaxFanoutNodesPercentage": {
"IsRelaxable": true,
"Value": 50
},
"MaxResultRecords": {
"IsRelaxable": true,
"Value": 1000
},
"MaxResultBytes": {
"IsRelaxable": true,
"Value": 33554432
},
"MaxExecutiontime": {
"IsRelaxable": true,
"Value": "00:01:00"
}
}
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro