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
.
string connectionString = "<your-account-connection-string>";
CosmosClient client = new CosmosClient(connectionString,
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 |
---|---|---|---|
EnableTcp Připojení ionEndpointRediscovery | true | true | Představuje příznak pro povolení detekce připojení uzavíraných ze serveru. |
IdleTcp Připojení ionTimeout | 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. |
MaxRequestsPerTcp Připojení ion | 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í. |
MaxTcp Připojení ionsPerEndpoint | 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 parametrem MaxRequestsPerTcp Připojení ion toto nastavení omezuje počet požadavků, které se současně odesílají do jednoho back-endu Cosmos DB(MaxRequestsPerTcp Připojení ion x MaxTcp Připojení ionPerEndpoint). Hodnota musí být větší nebo rovna 16. |
OpenTcp Připojení ionTimeout | 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 |
---|---|---|---|
GatewayModeMax Připojení ionLimit | 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.
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