SI APPLICA A: NoSQL
MongoDB
La funzionalità di ridistribuzione della velocità effettiva di Azure Cosmos DB consente di ridistribuire la velocità effettiva di cui è stato effettuato il provisioning tra partizioni fisiche. Questo articolo risponde alle domande frequenti sulla ridistribuzione della velocità effettiva tra partizioni in Azure Cosmos DB.
Con quali risorse è possibile usare questa funzionalità?
La funzionalità è supportata solo per gli account SQL e API for MongoDB. È supportata per database e contenitori/raccolte di velocità effettiva condivisa con velocità effettiva dedicata (manuale o scalabilità automatica). La funzionalità non si applica agli account serverless.
Come si esegue la registrazione alla funzionalità di anteprima?
Non è necessario eseguire la registrazione all'anteprima. Per usare la funzionalità, è sufficiente utilizzare i comandi pertinenti in Azure PowerShell o nell'interfaccia della riga di comando di Azure per ridistribuire la velocità effettiva tra le partizioni fisiche delle risorse.
Quale versione della funzionalità di Azure Cosmos DB in Azure PowerShell e nell'interfaccia della riga di comando di Azure supporta questa funzionalità?
La possibilità di ridistribuire UR/sec tra partizioni fisiche è supportata solo nella versione di anteprima di Azure PowerShell (versione 2.0.2-preview o successiva)[https://www.powershellgallery.com/packages/Az.CosmosDB/2.0.2-preview] e nella versione di anteprima più recente dell'interfaccia della riga di comando di Azure.
Qual è il numero massimo di partizioni fisiche che è possibile modificare in una richiesta?
- Il numero massimo di partizioni di origine e fisiche che possono essere incluse in una singola richiesta è 20 ciascuna.
- È necessario fornire almeno una partizione di origine e una fisica di destinazione in ogni richiesta. Le partizioni di origine devono avere UR/sec a sufficienza per ridistribuire le partizioni di destinazione.
- Il numero di UR/sec desiderate per ogni partizione fisica di destinazione non può superare le 10.000 UR/sec o il totale di UR/sec della risorsa complessiva. Se le UR/sec desiderate sono maggiori di quelle della risorsa complessiva, è necessario aumentare le UR/sec complessive prima di procedere alla loro ridistribuzione.
Esiste un limite alla frequenza di chiamate che si possono effettuare per ridistribuire la velocità effettiva tra le partizioni?
È possibile effettuare un massimo di cinque richieste al minuto per la ridistribuzione della velocità effettiva tra le partizioni.
Cosa accade alla distribuzione di UR/sec quando se ne modifica il numero complessivo?
Se si riducono le UR/sec, ogni partizione fisica ottiene la frazione equivalente delle nuove UR/sec (
current throughput fraction * new RU/s
). Si supponga, ad esempio, di avere una raccolta con 6000 UR/sec e 3 partizioni fisiche. È possibile ridurle fino a 3.000 UR/sec.Prima della riduzione (6000 UR/sec) Dopo la riduzione (3000 UR/sec) Frazione delle UR/sec totali P0: 1000 UR/sec P0: 500 UR/sec 1/6 P1: 4000 UR/sec P1: 2000 UR/sec 2/3 P2: 1000 UR/sec P2: 500 UR/sec 1/6 Se si aumentano le UR/sec, ogni partizione fisica avrà UR/sec =
MIN(current throughput fraction * new RU/s, 10,000 RU/s)
. Su una partizione fisica non si può mai superare il limite di 10.000 UR/sec.Si supponga, ad esempio, di avere una raccolta con 6000 UR/sec e 3 partizioni fisiche. Si aumentano fino a 12.000 UR/sec:
Prima dell'aumento (6000 UR/sec) Dopo l'aumento (12.000 UR/sec) Frazione delle UR/sec totali P0: 1000 UR/sec P0: 2000 UR/sec 1/6 P1: 4000 UR/sec P1: 8000 UR/sec 2/3 P2: 1000 UR/sec P2: 2000 UR/sec 1/6
Perché viene visualizzata una discrepanza tra le UR/sec complessive nel contenitore e la somma delle UR/sec in tutte le partizioni fisiche?
Questa discrepanza può verificarsi quando si aumentano le UR/sec complessive per ogni singola partizione, perché
(current RU/s per partition * new container RU/s)/(old container RU/s)
è maggiore di 10.000 UR/sec. Questa discrepanza si verifica quando si attiva una divisione della partizione aumentando le UR/sec oltrecurrentNumberOfPartitions * 10,000 RU/s
o aumentando le UR/sec senza attivare una divisione della partizione.È consigliabile ridistribuire equamente la velocità effettiva dopo l'aumento. In caso contrario, potrebbe non essere possibile usare tutte le UR/sec di cui è stato effettuato il provisioning (anche se vengono fatturate).
Per verificare se questo scenario si applica alla risorsa, usare le metriche di Monitoraggio di Azure. Confrontare il valore della metrica ProvisionedThroughput (quando si usa la velocità effettiva manuale) o AutoscaleMaxThroughput (quando si usa la scalabilità automatica) con il valore della metrica PhysicalPartitionThroughput. Se il valore di PhysicalPartitionThroughput è inferiore al rispettivo ProvisionedThroughput o AutoscaleMaxThroughput, prima della ridistribuzione reimpostare le UR/sec su una distribuzione equa, altrimenti ridurre la velocità effettiva della risorsa al valore di PhysicalPartitionThroughput.
Si supponga, ad esempio, di avere una raccolta con 6000 UR/sec e 3 partizioni fisiche. È possibile aumentarle fino a 24.000 UR/sec. Dopo l'aumento, la velocità effettiva totale su tutte le partizioni è di sole 18.000 UR/sec. Questa distribuzione significa che, sebbene vengano fatturate 24.000 UR/sec, è possibile ottenere solo 18.000 UR/sec di velocità effettiva. Ogni partizione ottiene 8.000 UR/sec, dal momento che vengono ridistribuite equamente ed è possibile ridistribuirle nuovamente secondo necessità. Si può inoltre scegliere di ridurre le UR/sec complessive a 18.000.
Prima dell'aumento (6000 UR/sec) Dopo l'aumento a 24.000 UR/sec (UR/sec effettive = 18.000 UR/sec) Frazione delle UR/sec totali P0: 1000 UR/sec P0: 4000 UR/sec 1/6 P1: 4000 UR/sec P1: 10.000 UR/sec (la partizione non può superare le 10.000 UR/sec) 2/3 P2: 1000 UR/sec P2: 4000 UR/sec 1/6