Ladění konfigurací připojení pro sadu .NET SDK služby Azure Cosmos DB v3
Důležité
Informace v tomto článku jsou určené pouze pro sadu .NET SDK služby Azure Cosmos DB verze 3. Další informace najdete v průvodci odstraňováním potíží s režimy připojení sady SQL SDK služby Azure Cosmos DB .NET SDK v3, úložiště NuGet a průvodce odstraňováním potíží se sadou .NET SDK služby Azure Cosmos DB v3. Pokud aktuálně používáte starší verzi než v3, přečtěte si průvodce migrací na sadu .NET SDK služby Azure Cosmos DB verze 3 , kde najdete pomoc s upgradem na verzi 3.
Azure Cosmos DB je rychlá a flexibilní distribuovaná databáze, která se bezproblémově škáluje s garantovanou latencí a propustností. Nemusíte provádět významné změny architektury ani psát složitý kód pro škálování databáze pomocí služby Azure Cosmos DB. Vertikální navýšení a snížení kapacity je stejně snadné jako vytvoření jediného volání rozhraní API nebo volání metody sady SDK. Vzhledem k tomu, že ke službě Azure Cosmos DB se přistupuje prostřednictvím síťových volání, existují konfigurace připojení, které můžete vyladit, abyste dosáhli maximálního výkonu při použití sady .NET SDK služby Azure Cosmos DB v3.
Konfigurace připojení
Poznámka:
Ve službě Azure Cosmos DB . NETS SDK v3 , přímý režim je ve většině případů nejlepší volbou ke zlepšení výkonu databáze s většinou úloh.
Další informace o různých možnostech připojení najdete v článku o režimech připojení.
Režim přímého připojení
Výchozí režim připojení sady .NET SDK je přímý. V přímém režimu se požadavky provádějí pomocí protokolu TCP. Interní přímý režim používá speciální architekturu k dynamické správě síťových prostředků a zajištění nejlepšího výkonu. Architektura na straně klienta použitá v režimu Direct umožňuje předvídatelné využití sítě a multiplexovaný přístup k replikám služby Azure Cosmos DB. Další informace o architektuře najdete v architektuře přímého režimu připojení.
Režim připojení nakonfigurujete při vytváření CosmosClient
instance v CosmosClientOptions
.
CosmosClient client = new CosmosClient(
"<nosql-account-endpoint>",
tokenCredential
new CosmosClientOptions
{
ConnectionMode = ConnectionMode.Gateway // ConnectionMode.Direct is the default
}
);
Přizpůsobení režimu přímého připojení
Přímý režim lze přizpůsobit prostřednictvím CosmosClientOptions předané konstruktoru CosmosClient . Doporučujeme uživatelům vyhnout se jejich úpravám, pokud se nebudou cítit dobře pochopit kompromisy a je to nezbytné.
Možnost konfigurace | Výchozí | Doporučené | Detaily |
---|---|---|---|
EnableTcpConnectionEndpointRediscovery | true | true | Představuje příznak pro povolení detekce připojení uzavíraných ze serveru. |
IdleTcpConnectionTimeout | Ve výchozím nastavení jsou nečinná připojení trvale otevřená. | 20m-24h | Představuje dobu nečinnosti, po které jsou nevyužitá připojení uzavřena. Doporučené hodnoty jsou mezi 20 minutami a 24 hodinami. |
MaxRequestsPerTcpConnection | 30 | 30 | Představuje počet požadavků povolených současně přes jedno připojení TCP. Pokud se současně spouští více požadavků, klient direct/TCP otevře další připojení. Nenastavujte tuto hodnotu nižší než čtyři požadavky na připojení nebo vyšší než 50 až 100 požadavků na připojení. Aplikace s vysokým stupněm paralelismu na připojení, s velkými požadavky nebo odpověďmi nebo požadavky na nízkou latenci můžou dosáhnout lepšího výkonu s 8 až 16 požadavky na připojení. |
MaxTcpConnectionsPerEndpoint | 65535 | 65535 | Představuje maximální počet připojení TCP, která se můžou otevřít pro každý back-end služby Cosmos DB. Společně s MaxRequestsPerTcpConnection toto nastavení omezuje počet požadavků, které se současně odesílají do jediného back-endu Cosmos DB (MaxRequestsPerTcpConnection x MaxTcpConnectionPerEndpoint). Hodnota musí být větší nebo rovna 16. |
OpenTcpConnectionTimeout | 5 sekund | 1 sekunda | Představuje dobu, po kterou je možné se pokusit navázat připojení. Po uplynutí doby se pokus zruší a vrátí se chyba. Delší časové limity zpožďují opakování a selhání. |
PortReuseMode | PortReuseMode.ReuseUnicastPort | PortReuseMode.ReuseUnicastPort | Představuje zásady opakovaného použití portu klienta používané zásobníkem přenosu. |
Poznámka:
Podívejte se také na tipy pro výkon sítě pro režim přímého připojení.
Přizpůsobení režimu připojení brány
Režim brány lze přizpůsobit prostřednictvím CosmosClientOptions předaných konstruktoru CosmosClient . Doporučujeme uživatelům vyhnout se jejich úpravám, pokud se nebudou cítit dobře pochopit kompromisy a je to nezbytné.
Možnost konfigurace | Výchozí | Doporučené | Detaily |
---|---|---|---|
GatewayModeMaxConnectionLimit | 50 | 50 | Představuje maximální počet souběžných připojení povolených pro koncový bod cílové služby ve službě Azure Cosmos DB. |
WebProxy | null | null | Představuje informace o proxy serveru používané pro webové požadavky. |
Poznámka:
Projděte si také osvědčené postupy při použití režimu brány pro sadu Azure Cosmos DB NET SDK v3.
Další kroky
Další informace o tipech pro zvýšení výkonu pro sadu .NET SDK najdete v tématu Tipy pro zvýšení výkonu pro sadu Azure Cosmos DB NET SDK v3.
- Pokud víte, že je počet virtuálních jader a serverů ve vašem existujícím databázovém clusteru, přečtěte si informace o odhadu jednotek žádostí pomocí virtuálních jader nebo virtuálních procesorů.
- Pokud znáte typické sazby požadavků pro vaši aktuální úlohu databáze, přečtěte si informace o odhadu jednotek žádostí pomocí plánovače kapacity služby Azure Cosmos DB.