Delen via


Verbindingsconfiguraties afstemmen voor Azure Cosmos DB .NET SDK v3

Belangrijk

De informatie in dit artikel is alleen bedoeld voor Azure Cosmos DB .NET SDK v3. Bekijk de azure Cosmos DB SQL SDK-connectiviteitsmodi in de releaseopmerkingen voor Azure Cosmos DB .NET SDK v3, Nuget-opslagplaats en Azure Cosmos DB .NET SDK v3 voor meer informatie. Als u momenteel een oudere versie dan v3 gebruikt, raadpleegt u de handleiding Migreren naar Azure Cosmos DB .NET SDK v3 voor hulp bij het upgraden naar v3.

Azure Cosmos DB is een snelle en flexibele gedistribueerde database die naadloos wordt geschaald met gegarandeerde latentie en doorvoer. U hoeft geen belangrijke architectuurwijzigingen aan te brengen of complexe code te schrijven om uw database te schalen met Azure Cosmos DB. Omhoog en omlaag schalen is net zo eenvoudig als het maken van één API-aanroep of SDK-methode-aanroep. Omdat Azure Cosmos DB echter toegankelijk is via netwerkaanroepen, zijn er verbindingsconfiguraties die u kunt afstemmen om piekprestaties te bereiken wanneer u Azure Cosmos DB .NET SDK v3 gebruikt.

configuratie van Verbinding maken ion

Notitie

In Azure Cosmos DB. NETS SDK v3, directe modus is de beste keuze in de meeste gevallen om de databaseprestaties met de meeste workloads te verbeteren.

Zie het artikel over connectiviteitsmodi voor meer informatie over verschillende connectiviteitsopties .

Directe verbindingsmodus

De standaardverbindingsmodus van .NET SDK is direct. In de directe modus worden aanvragen gedaan met behulp van het TCP-protocol. Intern de directe modus maakt gebruik van een speciale architectuur om netwerkbronnen dynamisch te beheren en de beste prestaties te krijgen. De architectuur aan de clientzijde die in de directe modus wordt gebruikt, maakt voorspelbaar netwerkgebruik en multiplexed toegang tot Azure Cosmos DB-replica's mogelijk. Zie de verbindingsarchitectuur voor de directe modus voor meer informatie over architectuur.

U configureert de verbindingsmodus wanneer u het CosmosClient exemplaar maakt in CosmosClientOptions.

string connectionString = "<your-account-connection-string>";
CosmosClient client = new CosmosClient(connectionString,
new CosmosClientOptions
{
    ConnectionMode = ConnectionMode.Gateway // ConnectionMode.Direct is the default
});

Directe verbindingsmodus aanpassen

De directe modus kan worden aangepast via de CosmosClientOptions die wordt doorgegeven aan de CosmosClient-constructor . We raden gebruikers aan deze te vermijden, tenzij ze zich vertrouwd voelen bij het begrijpen van de compromissen en het is nodig.

Configuratieoptie Standaardinstelling Aanbevolen DETAILS
EnableTcp Verbinding maken ionEndpointRediscovery true true Dit vertegenwoordigt de vlag voor het inschakelen van detectie van verbindingen die van de server worden gesloten.
IdleTcp Verbinding maken ionTimeout Standaard worden niet-actieve verbindingen voor onbepaalde tijd geopend. 20m-24u Dit geeft de hoeveelheid niet-actieve tijd aan waarna ongebruikte verbindingen worden gesloten. Aanbevolen waarden liggen tussen 20 minuten en 24 uur.
MaxRequestsPerTcp Verbinding maken ion 30 30 Dit vertegenwoordigt het aantal aanvragen dat tegelijkertijd is toegestaan via één TCP-verbinding. Wanneer er tegelijkertijd meer aanvragen worden verzonden, opent de directe/TCP-client extra verbindingen. Stel deze waarde niet lager in dan vier aanvragen per verbinding of hoger dan 50-100 aanvragen per verbinding. Toepassingen met een hoge mate van parallelle uitvoering per verbinding, met grote aanvragen of antwoorden, of met strikte latentievereisten kunnen betere prestaties krijgen met 8-16 aanvragen per verbinding.
MaxTcp Verbinding maken ionsPerEndpoint 65535 65535 Dit vertegenwoordigt het maximum aantal TCP-verbindingen dat kan worden geopend voor elke Cosmos DB-back-end. Samen met MaxRequestsPerTcp Verbinding maken ion beperkt deze instelling het aantal aanvragen dat tegelijkertijd wordt verzonden naar één Cosmos DB-back-end (MaxRequestsPerTcp Verbinding maken ion x MaxTcp Verbinding maken ionPerEndpoint). De waarde moet groter dan of gelijk zijn aan 16.
OpenTcp Verbinding maken ionTimeout 5 seconden 1 seconde Dit geeft de hoeveelheid tijd aan die is toegestaan voor het tot stand brengen van een verbinding. Wanneer de tijd is verstreken, wordt de poging geannuleerd en wordt er een fout geretourneerd. Langere time-outs vertragen nieuwe pogingen en fouten.
PortReuseMode PortReuseMode.ReuseUnicastPort PortReuseMode.ReuseUnicastPort Dit vertegenwoordigt het beleid voor hergebruik van clientpoorten dat wordt gebruikt door de transportstack.

Gatewayverbindingsmodus aanpassen

De gatewaymodus kan worden aangepast via de CosmosClientOptions die wordt doorgegeven aan de CosmosClient-constructor . We raden gebruikers aan deze te vermijden, tenzij ze zich vertrouwd voelen bij het begrijpen van de compromissen en het is nodig.

Configuratieoptie Standaardinstelling Aanbevolen DETAILS
GatewayModeMax Verbinding maken ionLimit 50 50 Dit vertegenwoordigt het maximum aantal gelijktijdige verbindingen dat is toegestaan voor het doelservice-eindpunt in de Azure Cosmos DB-service.
WebProxy Nul Nul Dit vertegenwoordigt de proxygegevens die worden gebruikt voor webaanvragen.

Volgende stappen

Zie Prestatietips voor Azure Cosmos DB NET SDK v3 voor meer informatie over prestatietips voor .NET SDK.