Megosztás a következőn keresztül:


Kapcsolatkonfigurációk finomhangolása az Azure Cosmos DB .NET SDK v3-hoz

Fontos

A cikkben szereplő információk csak az Azure Cosmos DB .NET SDK v3-hoz tartoznak. További információkért tekintse meg az Azure Cosmos DB SQL SDK csatlakozási módjait az Azure Cosmos DB .NET SDK v3 kibocsátási megjegyzéseiben, a Nuget-adattárban és az Azure Cosmos DB .NET SDK v3 hibaelhárítási útmutatójában. Ha jelenleg a v3-nál régebbi verziót használ, a v3-ra való frissítéshez tekintse meg az Azure Cosmos DB .NET SDK v3-ba való migrálási útmutatóját.

Az Azure Cosmos DB egy gyors és rugalmas elosztott adatbázis, amely zökkenőmentesen méretezhető, garantált késéssel és átviteli sebességgel. Nem kell jelentős architektúramódosításokat végeznie, és nem kell összetett kódot írnia az adatbázis Azure Cosmos DB-vel való skálázásához. A vertikális fel- és leskálázás olyan egyszerű, mint egyetlen API-hívás vagy SDK-metódushívás. Mivel azonban az Azure Cosmos DB hálózati hívásokon keresztül érhető el, vannak olyan kapcsolatkonfigurációk, amelyeket az Azure Cosmos DB .NET SDK v3 használatakor a csúcsteljesítmény elérése érdekében hangolhat.

Kapcsolatkonfiguráció

Feljegyzés

Az Azure Cosmos DB-ben. NETS SDK v3, a közvetlen mód a legtöbb esetben a legjobb választás az adatbázisok teljesítményének javítása érdekében a legtöbb számítási feladat esetében.

A különböző csatlakozási lehetőségekről a kapcsolati módokról szóló cikkből tudhat meg többet.

Közvetlen kapcsolati mód

A .NET SDK alapértelmezett csatlakozási módja közvetlen. Közvetlen módban a kérelmek a TCP protokoll használatával jönnek létre. A belső közvetlen mód egy speciális architektúrát használ a hálózati erőforrások dinamikus kezeléséhez és a legjobb teljesítmény eléréséhez. A Közvetlen módban alkalmazott ügyféloldali architektúra kiszámítható hálózatkihasználtságot és multiplexált hozzáférést tesz lehetővé az Azure Cosmos DB-replikákhoz. Az architektúrával kapcsolatos további információkért tekintse meg a közvetlen módú kapcsolatarchitektúrát.

A kapcsolati módot a példány létrehozásakor konfigurálja a CosmosClient következőben CosmosClientOptions: .

CosmosClient client = new CosmosClient(
  "<nosql-account-endpoint>",
  tokenCredential
  new CosmosClientOptions
  {
      ConnectionMode = ConnectionMode.Gateway // ConnectionMode.Direct is the default
  }
);

Közvetlen kapcsolati mód testreszabása

A közvetlen mód testre szabható a CosmosClient Konstruktornak átadott CosmosClientOptions használatával. Javasoljuk, hogy a felhasználók ne módosítsák ezeket, hacsak nem érzik jól magukat a kompromisszumok megértésében, és ez szükséges.

Konfigurációs beállítás Alapértelmezett Ajánlott Részletek
EnableTcpConnectionEndpointRediscovery true true Ez azt a jelzőt jelöli, amely lehetővé teszi a kiszolgálóról lezáruló kapcsolatok észlelését.
IdleTcpConnectionTimeout Alapértelmezés szerint a tétlen kapcsolatok határozatlan ideig nyitva maradnak. 20m-24h Ez azt az üresjárati időt jelenti, amely után a nem használt kapcsolatok lezárulnak. Az ajánlott értékek 20 perc és 24 óra között vannak.
MaxRequestsPerTcpConnection 30 30 Ez az egy TCP-kapcsolaton keresztül egyidejűleg engedélyezett kérések számát jelöli. Ha több kérelem egyidejűleg repül, a közvetlen/TCP-ügyfél további kapcsolatokat nyit meg. Ne állítsa be ezt az értéket kapcsolatonként négynél kisebb vagy 50–100-nál nagyobb kérésnél. A kapcsolatonként magas fokú párhuzamossággal, nagy kérésekkel vagy válaszokkal, illetve szűk késési követelményekkel rendelkező alkalmazások kapcsolatonként 8–16 kéréssel jobb teljesítményt érhetnek el.
MaxTcpConnectionsPerEndpoint 65535 65535 Ez az egyes Cosmos DB-háttérrendszerek felé megnyitható TCP-kapcsolatok maximális számát jelöli. A MaxRequestsPerTcpConnection beállítással együtt ez a beállítás korlátozza az egyetlen Cosmos DB háttérrendszerbe egyidejűleg küldött kérelmek számát (MaxRequestsPerTcpConnection x MaxTcpConnectionPerEndpoint). Az értéknek 16-nál nagyobbnak vagy egyenlőnek kell lennie.
OpenTcpConnectionTimeout 5 másodperc 1 másodperc Ez azt az időtartamot jelöli, amely lehetővé teszi a kapcsolat létrehozására való próbálkozást. Amikor az idő eltelik, a rendszer megszakítja a kísérletet, és hibát ad vissza. Hosszabb időtúllépések késleltetik az újrapróbálkozást és a hibákat.
PortReuseMode PortReuseMode.ReuseUnicastPort PortReuseMode.ReuseUnicastPort Ez az átviteli verem által használt ügyfélport-újrafelhasználási szabályzatot jelöli.

Átjáró kapcsolati módjának testreszabása

Az átjáró mód testre szabható a CosmosClient-konstruktornak átadott CosmosClientOptions használatával. Javasoljuk, hogy a felhasználók ne módosítsák ezeket, hacsak nem érzik jól magukat a kompromisszumok megértésében, és ez szükséges.

Konfigurációs beállítás Alapértelmezett Ajánlott Részletek
GatewayModeMaxConnectionLimit 50 50 Ez az Azure Cosmos DB szolgáltatás célszolgáltatás-végpontja számára engedélyezett egyidejű kapcsolatok maximális számát jelenti.
WebProxy null null Ez a webes kérelmekhez használt proxyadatokat jelöli.

Feljegyzés

Az Azure Cosmos DB NET SDK v3-hoz készült Átjáró mód használata esetén is tekintse meg az ajánlott eljárásokat.

Következő lépések

A .NET SDK teljesítménytippjeiről további információt az Azure Cosmos DB NET SDK 3-ás verzió teljesítménytippjeiben talál.