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. |
Feljegyzés
Lásd még a hálózati teljesítményre vonatkozó tippeket a közvetlen kapcsolati módhoz
Á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.
- Ha csak annyit tud, hogy hány virtuális mag és kiszolgáló található a meglévő adatbázisfürtben, olvassa el a kérelemegységek becslését virtuális magok vagy vCPU-k használatával
- Ha ismeri az aktuális adatbázis számítási feladataira vonatkozó tipikus kérési arányokat, olvassa el a kérelemegységek becslését az Azure Cosmos DB kapacitástervezővel