Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze handleiding bevat aanbevolen procedures voor oplossingen die zijn gebouwd met behulp van de nieuwste versie van de Python SDK voor Azure Cosmos DB voor NoSQL. De aanbevolen procedures die hier worden beschreven, helpen latentie te verbeteren, de beschikbaarheid te verbeteren en de algehele prestaties voor uw oplossingen te verbeteren.
Accountconfiguratie
Accountconfiguratieparameters
| Kenmerk | Standaard of beperking | Wanneer te gebruiken |
|---|---|---|
| Colocatie van regio | Hetzelfde als de app-regio | Latentie verminderen |
| Replicatie in meerdere regio's | Standaard uitgeschakeld | 2+ regio's inschakelen voor beschikbaarheid |
| Door de service beheerde failover | Optioneel | Inschakelen voor productieworkloads |
from azure.cosmos import CosmosClient
client = CosmosClient(url, credential)
print(client.client_connection._global_endpoint_manager.write_endpoint)
# Expected: write endpoint resolves to configured write region
Zie de zelfstudie over wereldwijde distributie voor meer informatie over het toevoegen van meerdere regio's met behulp van de Python SDK.
SDK-gebruik
SDK-gebruiksparameters
| Kenmerk | Standaard of beperking | Wanneer te gebruiken |
|---|---|---|
| SDK-versie | Meest recente beschikbaar | Altijd voor optimale prestaties |
| CosmosClient-exemplaar | Eén per app | Hergebruiken voor de levensduur van de app |
| voorkeurslocaties | Geen | Lees- en failover optimaliseren |
client = CosmosClient(
url,
credential,
preferred_locations=["East US", "West US"]
)
print(client.client_connection._preferred_locations)
# Expected: ['East US', 'West US']
Een tijdelijke fout is een fout met een onderliggende oorzaak die zich snel oplost. Toepassingen die verbinding maken met uw database, moeten zo worden gebouwd dat ze deze tijdelijke fouten verwachten. Als u ze wilt afhandelen, implementeert u logica voor opnieuw proberen in uw code in plaats van ze als toepassingsfouten weer te geven aan gebruikers. De SDK heeft ingebouwde logica voor het afhandelen van deze tijdelijke fouten bij opnieuw te proberen aanvragen, zoals lees- of querybewerkingen. De SDK kan schrijfbewerkingen niet opnieuw proberen voor tijdelijke fouten, omdat schrijfbewerkingen niet idempotent zijn. Met de SDK kunnen gebruikers de logica voor het opnieuw proberen mechanismen configureren voor throttling-beperkingen. Zie de richtlijnen voor tolerante toepassingen voor meer informatie over welke fouten u opnieuw wilt proberen.
Gebruik SDK-logboekregistratie om diagnostische gegevens vast te leggen en latentieproblemen op te lossen.
Gegevensontwerp
Parameters voor gegevensontwerp
| Kenmerk | Standaard of beperking | Wanneer te gebruiken |
|---|---|---|
| Documentgrootte | N/A | Houd het klein om RU-kosten te verlagen |
| Id-tekens | Geen speciale tekens | Onverwacht gedrag voorkomen |
| Indexeringspaden | Alle paden geïndexeerd | Ongebruikte paden uitsluiten voor snellere schrijfbewerkingen |
container_properties = {
"id": "items",
"indexingPolicy": {
"excludedPaths": [{"path": "/*"}]
}
}
print(container_properties["indexingPolicy"])
# Expected: excludedPaths configured
Zie indexen maken met behulp van het SDK-voorbeeld voor meer informatie.
Hostkenmerken
Parameters voor hostkenmerken
| Kenmerk | Standaard of beperking | Wanneer te gebruiken |
|---|---|---|
| CPU-gebruik | <70% aanbevolen | Omhoog of uitschalen indien hoog |
| Versneld netwerken | Disabled | Inschakelen op de virtuele machines voor hoge verkeersdrukte |
| Grootte van query-pagina | 100 items / 4 MB | Verhogen om retouren te verminderen |
items = container.query_items(
query="SELECT * FROM c",
max_item_count=500
)
print("Page size set to 500")
# Expected: fewer round trips
Volgende stappen
Zie prestatietips voor Azure Cosmos DB Python SDK voor meer informatie over prestatietips voor Python SDK.
Zie Partitioneren en schalen in Azure Cosmos DB voor meer informatie over het ontwerpen van uw toepassing voor schaalaanpassing en hoge prestaties.
Wilt u capaciteitsplanning uitvoeren voor een migratie naar Azure Cosmos DB? U kunt informatie over uw bestaande databasecluster gebruiken voor capaciteitsplanning.
- Als alles wat u weet het aantal vCores en servers in uw bestaande databasecluster is, leest u meer over het schatten van aanvraageenheden met behulp van vCores of vCPU's
- Als u typische aanvraagtarieven voor uw huidige databaseworkload kent, leest u meer over het schatten van aanvraageenheden met behulp van azure Cosmos DB-capaciteitsplanner