Ressources et modèles d’achat Azure SQL DatabaseAzure SQL Database purchasing models and resources

Les serveurs logiques dans Azure SQL Database proposent deux modèles d’achat pour les ressources de calcul, de stockage et d’E/S : un modèle d’achat DTU et un modèle d’achat vCore.Logical servers in Azure SQL Database offers two purchasing models for compute, storage, and IO resources: a DTU-based purchasing model and a vCore-based purchasing model.

Note

Les instances managées dans Azure SQL Database offrent uniquement le modèle d’achat vCore.Managed Instances in Azure SQL Database only offer the vCore-based purchasing model.

Le tableau et le graphique suivants comparent ces deux modèles d’achat.The following table and chart compare and contrast these two purchasing models.

Important

Pour le modèle d’achat vCore, voir Modèle d’achat vCore.For vCore-based purchasing model, see vCore-based purchasing model

Modèle d’achatPurchasing model DescriptionDescription Idéal pourBest for
Modèle DTUDTU-based model Ce modèle est basé sur une mesure regroupant des ressources de calcul, de stockage et d’E/S.This model is based on a bundled measure of compute, storage, and IO resources. Les niveaux de performance en termes d’unités de transaction de base de données (DTU) pour des bases de données uniques et d’unités de transaction de base de données élastique (eDTU) pour les pools élastiques.Performance levels are expressed in terms of Database Transaction Units (DTUs) for single databases and elastic Database Transaction Units (eDTUs) for elastic pools. Pour en savoir plus sur les DTU et les eDTU, consultez Définition des DTU et des eDTU.For more on DTUs and eDTUs, see What are DTUs and eDTUs? Idéal pour les clients qui souhaitent des options de ressources préconfigurées et simples.Best for customers who want simple, pre-configured resource options.
Modèle vCorevCore-based model Ce modèle vous permet de faire évoluer indépendamment les ressources de calcul et de stockage.This model allows you to independently scale compute and storage resources. Il permet également d’utiliser Azure Hybrid Benefit pour SQL Server afin de réduire les coûts.It also allows you to use Azure Hybrid Benefit for SQL Server to gain cost savings. Idéal pour les clients qui donnent la priorité à la flexibilité, au contrôle et à la transparence.Best for customers who value flexibility, control, and transparency.

Modèle de prix

Modèle d’achat vCorevCore-based purchasing model

Un vCore est l’UC logique qui permet de choisir parmi plusieurs générations de matériel.A virtual core represents the logical CPU offered with an option to choose between generations of hardware. Le modèle d’achat vCore apporte flexibilité, contrôle et transparence pour la consommation des ressources. En outre, il permet de traduire facilement les exigences des charges de travail locales pour le cloud.The vCore-based purchasing model gives your flexibility, control, transparency of individual resource consumption and a straightforward way to translate on-premises workload requirements to the cloud. Ce modèle permet de mettre à l’échelle le calcul, la mémoire et le stockage en fonction des besoins des charges de travail.This model allows you to scale compute, memory, and storage based upon their workload needs. Dans le modèle d’achat vCore, les clients peuvent choisir entre les niveaux de service Usage général et Critique pour l’entreprise pour les bases de données uniques et pour les pools élastiques.In the vCore-based purchasing model, customers can choose between General Purpose and Business critical service tiers for both single databases and elastic pools.

Le modèle d’achat vCore vous permet de mettre à l’échelle les ressources de calcul et de stockage indépendamment les unes des autres, d’égaler les performances d’une exécution locale et d’optimiser les coûts.The vCore-based purchasing model enables you to independently scale compute and storage resources, match on-premises performance, and optimize price. Si votre base de données ou pool élastique consomme plus de 300 DTU, le passage au modèle vCore peut vous permettre de réaliser des économies.If your database or elastic pool consumes more than 300 DTU conversion to vCore may reduce your cost. Vous pouvez passer au modèle vCore à l’aide de l’API de votre choix ou du portail Azure, sans aucun temps d’arrêt.You can convert using your API of choice or using the Azure portal, with no downtime. Le passage au modèle vCore n’est toutefois pas obligatoire.However, conversion is not required. Si le modèle d’achat DTU répond à vos besoins métier et à vos besoins en performance, vous devez continuer de l’utiliser.If the DTU purchasing model meets your performance and business requirements, you should continue using it. Si vous décidez de passer du modèle DTU au modèle vCore, vous devez sélectionner le niveau de performance en suivant la règle de base suivante : chaque groupe de 100 DTU du niveau Standard nécessite au moins 1 vCore dans le niveau Usage général, et chaque groupe de 125 DTU du niveau Premium nécessite au moins 1 vCore Critique pour l'entreprise.If you decide to convert from the DTU-model to vCore-model, you should select the performance level using the following rule of thumb: each 100 DTU in Standard tier requires at least 1 vCore in General Purpose tier; each 125 DTU in Premium tier requires at least 1 vCore in Business Critical tier.

Dans le modèle d’achat vCore, les clients paient pour :In the vCore-based purchasing model, customers pay for:

  • Le calcul (niveau de service + nombre de vCore + génération du matériel)*Compute (service tier + number of vCores + generation of hardware)*
  • Le type et la quantité de stockage des journaux et des donnéesType and amount of data and log storage
  • Le nombre d’E/SNumber of IOs
  • Le stockage de sauvegarde (RA-GRS)Backup storage (RA-GRS)

* Dans la préversion publique initiale, les processeurs logiques Gen 4 sont basés sur des processeurs Intel E5-2673 v3 (Haswell) 2.4 GHz.* In the initial public preview, the Gen 4 Logical CPUs are based on Intel E5-2673 v3 (Haswell) 2.4-GHz processors.

** Dans la préversion, les sauvegardes et les E/S sont gratuites pendant 7 jours.** During preview, 7 days of backups and IOs are free.

Important

Le calcul, les E/S, ainsi que le stockage des données et des journaux, sont facturés au niveau de chaque base de données ou au niveau du pool élastique.Compute, IOs, data and log storage are charged per database or elastic pool. Le stockage des sauvegardes est facturé au niveau de chaque base de données.Backups storage is charged per each database. Pour plus d’informations sur les frais liés à Managed Instance, consultez Azure SQL Database Managed Instance.For details of Managed Instance charges, refer to Azure SQL Database Managed Instance. Limitations liées aux régions : le modèle d’achat vCore n’est pas encore disponible dans les régions suivantes : Europe de l’Ouest, France Centre, Royaume-Uni Sud, Royaume-Uni Ouest et Sud-Est de l’Australie.Region limitations: The vCore-based purchasing model is not yet available in the following regions: West Europe, France Central, UK South, UK West and Australia Southeast.

Modèle d’achat DTUDTU-based purchasing model

L’unité DTU (Database Transaction Unit) correspond à un mélange de mesures d’UC, de mémoire, de lectures et d’écritures.The Database Transaction Unit (DTU) represents a blended measure of CPU, memory, reads, and writes. Le modèle d’achat DTU offre un ensemble préconfiguré de ressources de calcul et de stockage inclus pour obtenir différents niveaux de performance d’application.The DTU-based purchasing model offers a set of preconfigured bundles of compute resources and included storage to drive different levels of application performance. Les clients qui préfèrent la simplicité d’un ensemble préconfiguré et de versements mensuels peuvent trouver le modèle DTU plus adapté à leurs besoins.Customers who prefer the simplicity of a preconfigured bundle and fixed payments each month, may find the DTU-based model more suitable for their needs. Dans le modèle d’achat DTU, les clients peuvent choisir parmi les niveaux de service De base, Standard et Premium pour chaque base de données et pour les pools élastiques.In the DTU-based purchasing model, customers can choose between Basic, Standard, and Premium service tiers for both single databases and elastic pools.

Définition des unités de transaction de base de données (DTU)What are Database Transaction Units (DTUs)?

Microsoft garantit un certain niveau de ressources pour une seule base de données Azure SQL Database à un niveau de performances spécifique au sein d’un niveau de service (indépendamment de toute autre base de données dans le cloud Azure), fournissant un niveau de performances prévisible.For a single Azure SQL database at a specific performance level within a service tier, Microsoft guarantees a certain level of resources for that database (independent of any other database in the Azure cloud), providing a predictable level of performance. Le volume de ressources est calculé sous forme d’unités de transactions de base de données ou DTU. Il s’agit d’une mesure groupée de calcul, de stockage et de ressources d’E/S.The amount of resources is calculated as a number of Database Transaction Units or DTUs and is a bundled measure of compute, storage, and IO resources. Le ratio entre ces ressources a été déterminé à l’origine par une charge de travail d’évaluation OLTP, conforme aux charges de travail OLTP réelles standard.The ratio amongst these resources was originally determined by an OLTP benchmark workload, designed to be typical of real-world OLTP workloads. Quand votre charge de travail dépasse la quantité de ces ressources, le débit est limité, ce qui entraîne un ralentissement des performances et des délais d’attente.When your workload exceeds the amount of any of these resources, your throughput is throttled - resulting in slower performance and timeouts. Les ressources utilisées par votre charge de travail n’impactent pas les ressources disponibles pour les autres bases de données SQL dans le cloud Azure, et les ressources utilisées par d’autres charges de travail n’impactent pas les ressources disponibles pour votre base de données SQL.The resources used by your workload do not impact the resources available to other SQL databases in the Azure cloud, and the resources used by other workloads do not impact the resources available to your SQL database.

cadre englobant

Les DTU sont particulièrement utiles pour comprendre la quantité relative de ressources entre les bases de données Azure SQL Database à différents niveaux de performances et de service.DTUs are most useful for understanding the relative amount of resources between Azure SQL Databases at different performance levels and service tiers. Par exemple, le fait de doubler les DTU en augmentant le niveau de performances d’une base de données revient à doubler l’ensemble des ressources disponibles pour cette base de données.For example, doubling the DTUs by increasing the performance level of a database equates to doubling the set of resources available to that database. Par exemple, une base de données Premium P11 comprenant 1 750 DTU fournit une puissance de calcul DTU 350 fois plus importante qu’une base de données de base comprenant 5 DTU.For example, a Premium P11 database with 1750 DTUs provides 350x more DTU compute power than a Basic database with 5 DTUs.

Pour avoir une idée plus précise de la consommation de ressources (DTU) de votre charge de travail, utilisez Query Performance Insight pour Azure SQL Database pour :To gain deeper insight into the resource (DTU) consumption of your workload, use Azure SQL Database Query Performance Insight to:

  • Identifier les principales requêtes par UC/durée/nombre d’exécutions qui peuvent être réglées pour améliorer les performances.Identify the top queries by CPU/Duration/Execution count that can potentially be tuned for improved performance. Par exemple, une requête utilisant beaucoup d’E/S peut tirer profit de l’utilisation de techniques d’optimisation en mémoire pour mieux utiliser la mémoire disponible à un certain niveau de service et de performances.For example, an IO intensive query might benefit from the use of in-memory optimization techniques to make better use of the available memory at a certain service tier and performance level.
  • Connaître les détails d’une requête, afficher son texte et l’historique d’utilisation des ressources.Drill down into the details of a query, view its text and history of resource utilization.
  • Accéder aux recommandations de réglage des performances qui indiquent les actions effectuées par SQL Database Advisor.Access performance tuning recommendations that show actions performed by SQL Database Advisor.

Vous pouvez changer les niveaux de service des DTU à tout moment avec un temps d’arrêt minimal de votre application (généralement sous les quatre secondes environ).You can change DTU service tiers at any time with minimal downtime to your application (generally averaging under four seconds). Pour de nombreuses entreprises et applications, la possibilité de créer des bases de données et d’augmenter ou ralentir les performances à la demande se révèle suffisante, surtout si les modèles d’utilisation sont relativement prévisibles.For many businesses and apps, being able to create databases and dial performance up or down on demand is enough, especially if usage patterns are relatively predictable. Mais si vous avez des modèles d'utilisation imprévisibles, il peut être difficile de gérer les coûts et votre modèle commercial.But if you have unpredictable usage patterns, it can make it hard to manage costs and your business model. Pour ce scénario, vous utilisez un pool élastique avec un certain nombre d’eDTU qui sont partagées entre plusieurs bases de données dans le pool.For this scenario, you use an elastic pool with a certain number of eDTUs that are shared among multiple databases in the pool.

Introduction à la base de données SQL : DTU de base de données unique par couche et niveau

Définition des unités de transaction de base de données élastique (DTU)What are elastic Database Transaction Units (eDTUs)?

Plutôt que de fournir un ensemble de ressources (DTU) dédié qui peut ne pas s’avérer toujours nécessaire pour une base de données SQL Database qui est toujours disponible, vous pouvez placer les bases de données dans un pool élastique sur un serveur SQL Database qui partage un pool de ressources entre ces bases de données.Rather than provide a dedicated set of resources (DTUs) that may not always be needed for a SQL Database that is always available, you can place databases into an elastic pool on a SQL Database server that shares a pool of resources among those databases. Les ressources partagées dans un pool élastique sont mesurées en eDTU (elastic Database Transaction Unit).The shared resources in an elastic pool are measured by elastic Database Transaction Units or eDTUs. Les pools élastiques offrent une solution simple et économique pour gérer les objectifs de performance de plusieurs bases de données ayant des modèles d’utilisation variables et non prévisibles.Elastic pools provide a simple cost effective solution to manage the performance goals for multiple databases having widely varying and unpredictable usage patterns. Un pool élastique garantit que les ressources ne peuvent pas être consommées par une base de données dans le pool, mais également que chaque base de données dans le pool dispose toujours d’une quantité de ressources minimale.An elastic pool guarantees resources cannot be consumed by one database in the pool, while ensuring each database in the pool always has a minimum amount of necessary resources available.

Introduction à la base de données SQL : eDTU par couche et niveau

Un pool bénéficie d’un nombre défini d’eDTU pour un prix donné.A pool is given a set number of eDTUs for a set price. Au sein du pool élastique, les différentes bases de données peuvent s’adapter facilement et automatiquement aux limites définies.Within the elastic pool, individual databases are given the flexibility to auto-scale within the configured boundaries. Une base de données soumise à une charge plus élevée consomme plus d’eDTU pour répondre à la demande.A database under heavier load will consume more eDTUs to meet demand. Les bases de données soumises à des charges plus légères consomment moins d’eDTU.Databases under lighter loads will consume less eDTUs. Les bases de données qui ne subissent aucune charge ne consomment aucune eDTU.Databases with no load will consume no eDTUs. Le provisionnement des ressources pour l’ensemble du pool, plutôt que pour chaque base de données, simplifie les tâches de gestion, fournissant un aperçu du budget nécessaire pour le pool.By provisioning resources for the entire pool, rather than per database, management tasks are simplified, providing a predictable budget for the pool.

Vous pouvez ajouter des eDTU à un pool existant sans que les bases de données du pool ne connaissent de temps d’arrêt et ne soient affectées.Additional eDTUs can be added to an existing pool with no database downtime and with no impact on the databases in the pool. De même, si les eDTU supplémentaires ne sont plus nécessaires, elles peuvent être supprimées à partir d’un pool existant à tout moment.Similarly, if extra eDTUs are no longer needed, they can be removed from an existing pool at any point in time. Vous pouvez ajouter des bases de données dans le pool ou en supprimer. Vous pouvez également limiter la quantité d’eDTU qu’une base de données peut utiliser en cas de charge importante pour réserver des eDTU pour les autres bases de données.You can add or subtract databases to the pool or limit the amount of eDTUs a database can use under heavy load to reserve eDTUs for other databases. Si vous prévoyez qu’une base de données sous-utilise des ressources, vous pouvez la déplacer hors du pool et la configurer en tant que base de données unique avec une quantité prévisible des ressources nécessaires.If a database is predictably under-utilizing resources, you can move it out of the pool and configure it as a single database with a predictable amount of required resources.

Comment puis-je déterminer le nombre de DTU requises par ma charge de travail ?How can I determine the number of DTUs needed by my workload?

Si vous cherchez à migrer une charge de travail de machine virtuelle SQL Server ou locale existante vers une base de données SQL Azure, vous pouvez utiliser l’outil DTU Calculator pour évaluer approximativement le nombre de DTU requises.If you are looking to migrate an existing on-premises or SQL Server virtual machine workload to Azure SQL Database, you can use the DTU Calculator to approximate the number of DTUs needed. Dans le cas d’une charge de travail de base de données SQL Azure existante, vous pouvez utiliser Query Performance Insight pour base de données SQL pour comprendre votre consommation des ressources de la base de données (DTU) et obtenir un insight plus approfondi pour l’optimisation de votre charge de travail.For an existing Azure SQL Database workload, you can use SQL Database Query Performance Insight to understand your database resource consumption (DTUs) to gain deeper insight for optimizing your workload. Vous pouvez également utiliser la DMV sys.dm_db_ resource_stats pour voir la consommation des ressources au cours de la dernière heure.You can also use the sys.dm_db_ resource_stats DMV to view resource consumption for the last hour. Sinon, la vue de catalogue sys.resource_stats affiche la consommation des ressources pour les 14 derniers jours, mais avec une précision inférieure (moyennes de cinq minutes).Alternatively, the catalog view sys.resource_stats displays resource consumption for the last 14 days, but at a lower fidelity of five-minute averages.

Comment savoir si je peux tirer parti d’un pool élastique de ressources ?How do I know if I could benefit from an elastic pool of resources?

Les pools sont idéaux dans le cas de nombreuses bases de données avec des modèles d’utilisation spécifiques.Pools are suited for a large number of databases with specific utilization patterns. Pour une base de données indiquée, ce modèle se caractérise par une moyenne d’utilisation faible avec des pics d’utilisation relativement rares.For a given database, this pattern is characterized by a low utilization average with relatively infrequent utilization spikes. La base de données SQL évalue automatiquement l’historique d’utilisation en ressources des bases de données dans un serveur de base de données SQL existant et recommande la configuration de pool appropriée dans le portail Azure.SQL Database automatically evaluates the historical resource usage of databases in an existing SQL Database server and recommends the appropriate pool configuration in the Azure portal. Pour plus d’informations, consultez l’article Quand utiliser un pool élastique ?.For more information, see when should an elastic pool be used?

Que se passe-t-il lorsque j’atteins le nombre maximal de DTU ?What happens when I hit my maximum DTUs?

Les niveaux de performances sont étalonnés et régis pour fournir les ressources nécessaires à l’exécution de la charge de travail de votre base de données dans les limites maximales autorisées pour le niveau de service/niveau de performances sélectionné.Performance levels are calibrated and governed to provide the resources needed to run your database workload up to the maximum allowed for your selected service tier/performance level. Si votre charge de travail atteint une des limites UC, E/S de données ou E/S de journal, vous bénéficiez toujours du niveau maximal de ressources autorisé, mais les latences de requête risquent de s’accroître.If your workload is hitting one of the CPU/Data IO/Log IO limits, you will continue to receive the maximum level of resources allowable, but you will also likely experience increased query latencies. Ces limites ne génèrent pas d’erreur, plutôt un ralentissement de la charge de travail, sauf si le ralentissement s’accentue au point que les requêtes arrivent à expiration. Si vous atteignez le nombre maximal autorisé de sessions/demandes utilisateur simultanées (threads de travail), vous voyez des erreurs explicites.These limits do not result in any errors, but rather a slowdown in the workload, unless the slowdown becomes so severe that queries start timing out. If you reach the maximum allowed concurrent user sessions/requests (worker threads), you will see explicit errors. Pour plus d’informations sur les limites de ressource qui ne concernent pas l’unité centrale, la mémoire, les E/S de données ou les E/S du journal des transactions, consultez Limites de ressources d’Azure SQL Database.See Azure SQL Database resource limits for information on resource limits not related to CPU, memory, data IO, or transaction log IO.

Mise en corrélation des résultats du test d’évaluation avec les performances réelles de la base de donnéesCorrelating benchmark results to real world database performance

Il est important de comprendre que tous les tests d’évaluation fournissent uniquement des résultats représentatifs et indicatifs.It is important to understand that all benchmarks are representative and indicative only. Les taux de transaction obtenus avec l’application d’évaluation ne seront pas les mêmes que ceux qui peuvent être atteints avec d’autres applications.The transaction rates achieved with the benchmark application will not be the same as those that might be achieved with other applications. Le test d’évaluation comprend un ensemble de différents types de transactions qui s’exécutent sur un schéma contenant une plage de tables et de types de données.The benchmark comprises a collection of different transaction types run against a schema containing a range of tables and data types. Si le test d’évaluation exécute les mêmes opérations de base communes à toutes les charges de travail OLTP, il n’a pas vocation à représenter une classe de base de données ou d’application spécifique.While the benchmark exercises the same basic operations that are common to all OLTP workloads, it does not represent any specific class of database or application. L’objectif de ce test est de fournir des indications quant aux performances relatives d’une base de données que l’on peut escompter lors d’un changement de niveau de performance.The goal of the benchmark is to provide a reasonable guide to the relative performance of a database that might be expected when scaling up or down between performance levels. En réalité, les bases de données varient en termes de taille et de complexité. Elles supportent diverses charges de travail et réagissent de différentes façons.In reality, databases are of different sizes and complexity, encounter different mixes of workloads, and will respond in different ways. Par exemple, une application gourmande en E/S peut atteindre rapidement les seuils d’E/S, de la même manière qu’une application gourmande en ressources processeur peut atteindre rapidement les limites processeur.For example, an IO-intensive application may hit IO thresholds sooner, or a CPU-intensive application may hit CPU limits sooner. Rien ne peut garantir qu’une base de données particulière évoluera de la même façon que le test d’évaluation sous une charge plus importante.There is no guarantee that any particular database will scale in the same way as the benchmark under increasing load.

Le test d’évaluation et sa méthodologie sont décrits plus en détail ci-dessous.The benchmark and its methodology are described in more detail below.

Résumé du test d’évaluationBenchmark summary

Le test ASDB mesure les performances d’une série d’opérations de base de données basiques que l’on rencontre le plus fréquemment dans les charges de travail de traitement transactionnel en ligne (OLTP).ASDB measures the performance of a mix of basic database operations which occur most frequently in online transaction processing (OLTP) workloads. Bien qu’il ait été conçu pour les environnements cloud, le schéma de base de données, le remplissage des données et les transactions ont été formulés pour représenter les éléments de base couramment utilisés dans les charges de travail OLTP.Although the benchmark is designed with cloud computing in mind, the database schema, data population, and transactions have been designed to be broadly representative of the basic elements most commonly used in OLTP workloads.

SchémaSchema

Le schéma a été conçu de façon suffisamment variée et complexe pour prendre en charge un large éventail d’opérations.The schema is designed to have enough variety and complexity to support a broad range of operations. Le test d’évaluation s’exécute sur une base de données composée de six tables.The benchmark runs against a database comprised of six tables. Les tables se répartissent en trois catégories : taille fixe, extensibles et évolutives.The tables fall into three categories: fixed-size, scaling, and growing. Il existe deux tables de taille fixe, trois tables extensibles et une table évolutive.There are two fixed-size tables; three scaling tables; and one growing table. Les tables de taille fixe comportent un nombre constant de lignes.Fixed-size tables have a constant number of rows. Les tables extensibles ont une cardinalité proportionnelle aux performances de la base de données, mais qui ne varie pas pendant le test d’évaluation.Scaling tables have a cardinality that is proportional to database performance, but doesn’t change during the benchmark. La table évolutive est dimensionnée à la manière d’une table extensible sur la charge initiale, mais la cardinalité change pendant l’exécution du test d’évaluation à mesure que des lignes sont insérées et supprimées.The growing table is sized like a scaling table on initial load, but then the cardinality changes in the course of running the benchmark as rows are inserted and deleted.

Le schéma inclut divers types de données, notamment des entiers, des valeurs numériques, des caractères et des valeurs date/heure.The schema includes a mix of data types, including integer, numeric, character, and date/time. Le schéma inclut des clés primaires et secondaires, mais aucune clé étrangère ; autrement dit, il n’y a pas de contraintes d’intégrité référentielle entre les tables.The schema includes primary and secondary keys, but not any foreign keys - that is, there are no referential integrity constraints between tables.

Un programme de génération de données génère les données pour la base de données initiale.A data generation program generates the data for the initial database. Les entiers et les données numériques sont générés à l’aide de différentes stratégies.Integer and numeric data is generated with various strategies. Dans certains cas, les valeurs sont distribuées de façon aléatoire sur une plage.In some cases, values are distributed randomly over a range. Dans d’autres cas, un ensemble de valeurs est permuté de façon aléatoire pour garantir une distribution spécifique.In other cases, a set of values is randomly permuted to ensure that a specific distribution is maintained. Les champs de texte sont générés à partir d’une liste pondérée de mots permettant de produire des données réalistes.Text fields are generated from a weighted list of words to produce realistic looking data.

La base de données est dimensionnée selon un « facteur d’échelle ».The database is sized based on a “scale factor.” Le facteur d’échelle (« SF ») détermine la cardinalité des tables extensibles et évolutives.The scale factor (abbreviated as SF) determines the cardinality of the scaling and growing tables. Comme décrit dans la section « Utilisateurs et rythme » ci-dessous, la taille de la base de données, le nombre d’utilisateurs et les performances maximales s’adaptent tous au prorata des uns des autres.As described below in the section Users and Pacing, the database size, number of users, and maximum performance all scale in proportion to each other.

TransactionsTransactions

La charge de travail se compose de neuf types de transactions, comme indiqué dans le tableau ci-dessous.The workload consists of nine transaction types, as shown in the table below. Chaque transaction est conçue pour mettre en évidence un ensemble particulier de caractéristiques système dans le moteur de base de données et le matériel système, en les distinguant clairement des autres transactions.Each transaction is designed to highlight a particular set of system characteristics in the database engine and system hardware, with high contrast from the other transactions. Cette approche permet d’évaluer plus facilement l’impact des différents composants sur les performances globales.This approach makes it easier to assess the impact of different components to overall performance. Par exemple, la transaction « Read Heavy » génère un nombre important d’opérations de lecture à partir du disque.For example, the transaction “Read Heavy” produces a significant number of read operations from disk.

Type de transactionTransaction Type DescriptionDescription
Read LiteRead Lite SÉLECTION ; dans la mémoire ; lecture seuleSELECT; in-memory; read-only
Read MediumRead Medium SÉLECTION ; principalement dans la mémoire ; lecture seuleSELECT; mostly in-memory; read-only
Read HeavyRead Heavy SÉLECTION ; principalement hors de la mémoire ; lecture seuleSELECT; mostly not in-memory; read-only
Update LiteUpdate Lite MISE À JOUR ; dans la mémoire ; lecture-écritureUPDATE; in-memory; read-write
Update HeavyUpdate Heavy MISE À JOUR ; principalement hors de la mémoire ; lecture-écritureUPDATE; mostly not in-memory; read-write
Insert LiteInsert Lite INSERTION ; dans la mémoire ; lecture-écritureINSERT; in-memory; read-write
Insert HeavyInsert Heavy INSERTION ; principalement hors de la mémoire ; lecture-écritureINSERT; mostly not in-memory; read-write
SupprimerDelete SUPPRESSION ; combinaison de ressources dans la mémoire et hors de la mémoire ; lecture-écritureDELETE; mix of in-memory and not in-memory; read-write
CPU HeavyCPU Heavy SÉLECTION ; dans la mémoire ; charge UC relativement importante ; lecture seuleSELECT; in-memory; relatively heavy CPU load; read-only

Combinaison de charges de travailWorkload mix

Les transactions sont sélectionnées de manière aléatoire à partir d’une distribution pondérée avec la combinaison générale suivante.Transactions are selected at random from a weighted distribution with the following overall mix. La combinaison générale présente un ratio lecture/écriture d’environ 2:1.The overall mix has a read/write ratio of approximately 2:1.

Type de transactionTransaction Type % de la combinaison% of Mix
Read LiteRead Lite 3535
Read MediumRead Medium 2020
Read HeavyRead Heavy 5.5
Update LiteUpdate Lite 2020
Update HeavyUpdate Heavy 33
Insert LiteInsert Lite 33
Insert HeavyInsert Heavy 22
SupprimerDelete 22
CPU HeavyCPU Heavy 1010

Utilisateurs et rythmeUsers and pacing

La charge de travail d’évaluation est pilotée par un outil qui envoie des transactions sur un ensemble de connexions afin de simuler le comportement d’un nombre d’utilisateurs simultanés.The benchmark workload is driven from a tool that submits transactions across a set of connections to simulate the behavior of a number of concurrent users. Bien que l’ensemble des connexions et transactions soient générées de façon automatique, nous appellerons ici ces connexions « utilisateurs » par souci de commodité.Although all of the connections and transactions are machine generated, for simplicity we refer to these connections as “users.” Bien que chaque utilisateur fonctionne indépendamment de tous les autres, tous exécutent le même cycle d’étapes, comme indiqué ci-dessous :Although each user operates independently of all other users, all users perform the same cycle of steps shown below:

  1. Établir une connexion à la base de données.Establish a database connection.
  2. Répéter jusqu’à obtention du signal de sortie :Repeat until signaled to exit:
    • Sélection d’une transaction de façon aléatoire (à partir d’une distribution pondérée)Select a transaction at random (from a weighted distribution).
    • Exécution de la transaction sélectionnée et évaluation du temps de réponsePerform the selected transaction and measure the response time.
    • Délai d’attenteWait for a pacing delay.
  3. Fermer la connexion à la base de données.Close the database connection.
  4. Quitter.Exit.

Le délai (à l’étape 2c) est sélectionné au hasard, mais avec une distribution de 1 seconde en moyenne.The pacing delay (in step 2c) is selected at random, but with a distribution that has an average of 1.0 second. Chaque utilisateur peut donc, en moyenne, générer au maximum une transaction par seconde.Thus each user can, on average, generate at most one transaction per second.

Règles de mise à l’échelleScaling rules

Le nombre d’utilisateurs est déterminé par la taille de la base de données (en unités de facteur d’échelle).The number of users is determined by the database size (in scale-factor units). On compte un seul utilisateur pour cinq unités de facteur d’échelle.There is one user for every five scale-factor units. En raison du délai, un même utilisateur peut générer, en moyenne, au maximum une transaction par seconde.Because of the pacing delay, one user can generate at most one transaction per second, on average.

Par exemple, une base de données utilisant un facteur d’échelle de 500 (SF = 500) comportera 100 utilisateurs et pourra atteindre un taux maximum de 100 TPS.For example, a scale-factor of 500 (SF=500) database will have 100 users and can achieve a maximum rate of 100 TPS. Pour augmenter le taux de TPS, la base de données doit être plus volumineuse et comporter un plus grand nombre d’utilisateurs.To drive a higher TPS rate requires more users and a larger database.

Le tableau ci-dessous indique le nombre d’utilisateurs effectivement pris en charge pour chaque niveau de service et de performance.The table below shows the number of users actually sustained for each service tier and performance level.

Niveau de service (niveau de performance)Service Tier (Performance Level) UtilisateursUsers Taille de la base de donnéesDatabase Size
De baseBasic 5.5 720 Mo720 MB
Standard (S0)Standard (S0) 1010 1 Go1 GB
Standard (S1)Standard (S1) 2020 2,1 Go2.1 GB
Standard (S2)Standard (S2) 5050 7,1 Go7.1 GB
Premium (P1)Premium (P1) 100100 14 Go14 GB
Premium (P2)Premium (P2) 200200 28 Go28 GB
Premium (P6)Premium (P6) 800800 114 Go114 GB

Durée de la mesureMeasurement duration

Pour être reconnu valide, un test d’évaluation doit s’effectuer sur une durée de mesure constante d’au moins une heure.A valid benchmark run requires a steady-state measurement duration of at least one hour.

MesuresMetrics

Le débit et le temps de réponse constituent les principaux indicateurs du test d’évaluation.The key metrics in the benchmark are throughput and response time.

  • Le débit est la mesure de performance la plus importante dans ce test d’évaluation.Throughput is the essential performance measure in the benchmark. Il est exprimé en transactions par unité de temps et tient compte de tous les types de transactions.Throughput is reported in transactions per unit-of-time, counting all transaction types.
  • Le temps de réponse permet de mesurer la prévisibilité des performances.Response time is a measure of performance predictability. La limite de temps de réponse varie en fonction de la classe de service, les classes de service plus élevées devant satisfaire à des exigences de temps de réponse plus serrées, comme indiqué ci-dessous.The response time constraint varies with class of service, with higher classes of service having a more stringent response time requirement, as shown below.
Classe de serviceClass of Service Mesure du débitThroughput Measure Temps de réponse requisResponse Time Requirement
PremiumPremium Transactions par secondeTransactions per second 95e centile à 0,5 seconde95th percentile at 0.5 seconds
standardStandard Transactions par minuteTransactions per minute 90e centile à 1 seconde90th percentile at 1.0 seconds
De baseBasic Transactions par heureTransactions per hour 80e centile à 2 secondes80th percentile at 2.0 seconds

Étapes suivantesNext steps