Condividi tramite


Ridimensionare la velocità effettiva di Azure Cosmos DB usando il trigger Timer di Funzioni di Azure

SI APPLICA A: NoSQL

Le prestazioni di un account Azure Cosmos DB si basano sulla quantità di velocità effettiva con provisioning espressa in unità richiesta al secondo (UR/sec). Il provisioning è a una seconda granularità e viene fatturato in base alle UR/sec più elevate all'ora. Questo modello di capacità con provisioning consente al servizio fornire una velocità effettiva prevedibile e coerente, con bassa latenza e disponibilità elevata garantite. La maggior parte dei carichi di lavoro di produzione usa queste funzionalità. Tuttavia, negli ambienti di sviluppo e test in cui Azure Cosmos DB viene usato solo durante l'orario di lavoro, è possibile aumentare la velocità effettiva al mattino e ridurre le prestazioni la sera dopo l'orario lavorativo.

È possibile impostare la velocità effettiva tramite modelli di Azure Resource Manager, interfaccia della riga di comando di Azure e PowerShell, per gli account API for NoSQL o usando gli SDK di Azure Cosmos DB specifici del linguaggio. Il vantaggio dell'uso di modelli di Resource Manager, dell'interfaccia della riga di comando di Azure o di PowerShell è che supportano tutte le API del modello di Azure Cosmos DB.

Progetto di esempio dell'utilità di pianificazione della velocità effettiva

Per semplificare il processo per ridimensionare Azure Cosmos DB in base a una pianificazione, è stato creato un progetto di esempio denominato utilità di pianificazione della velocità effettiva di Azure Cosmos DB. Questo progetto è un'app di Funzioni di Azure con due trigger timer: "ScaleUpTrigger" e "ScaleDownTrigger". I trigger eseguono uno script di PowerShell che imposta la velocità effettiva su ogni risorsa come definito nel file resources.json in ogni trigger. ScaleUpTrigger è configurato per l'esecuzione alle 8:00 UTC e ScaleDownTrigger è configurato per l'esecuzione alle 18:00 UTC e questi orari possono essere facilmente aggiornati all'interno del file function.json per ogni trigger.

È possibile clonare questo progetto in locale, modificarlo per specificare le risorse di Azure Cosmos DB perda aumentare e ridurre e la pianificazione per l'esecuzione. In seguito è possibile distribuirlo in una sottoscrizione di Azure e proteggerlo usando l'identità del servizio gestita con controllo degli accessi in base al ruolo di Azure autorizzazioni con il ruolo "operatore Azure Cosmos DB" per impostare la velocità effettiva negli account Azure Cosmos DB.

Passaggi successivi