Veritabanı işlem birimleri (Dtu'lar) ve esnek veritabanı işlem birimleri (Edtu'lar)Database Transaction Units (DTUs) and elastic Database Transaction Units (eDTUs)

Bu makalede, Veritabanı İşlem Birimleri (DTU'lar) ve esnek Veritabanı İşlem Birimlerinin (eDTU'lar) yanı sıra maksimum DTU veya eDTU sayısına ulaşıldığında ne olacağı açıklanmaktadır.This article explains Database Transaction Units (DTUs) and elastic Database Transaction Units (eDTUs) and what happens when you hit the maximum DTUs or eDTUs.

Veritabanı işlem birimleri (Dtu'lar) nelerdir?What are Database Transaction Units (DTUs)?

Belirli bir performans düzeyinde içinde tek bir Azure SQL veritabanı için bir hizmet katmanı, Microsoft, belirli bir düzeyde (herhangi bir Azure bulut veritabanında bağımsız) veritabanının ve öngörülebilir bir performans düzeyini sağlamak için kaynaklar güvence altına alır.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) and providing a predictable level of performance. Bu miktarda kaynak veritabanı işlem birimleri veya Dtu'lar sayısı olarak hesaplanır ve CPU, bellek, g/ç (veri ve işlem günlüğü g/ç) karışık ölçüsüdür.This amount of resources is calculated as a number of Database Transaction Units or DTUs, and is a blended measure of CPU, memory, I/O (data and transaction log I/O). Bu kaynaklar arasında oranı başlangıçta tarafından belirlenen bir OLTP Kıyaslama iş yükü gerçek OLTP iş yükü tipik olarak tasarlanmıştır.The ratio amongst these resources was originally determined by an OLTP benchmark workload designed to be typical of real-world OLTP workloads. İş yükünüzün bu kaynaklardan herhangi birini miktarını aşarsa, üretilen iş daraltılmış - yavaş performans ve zaman aşımları sonuç.When your workload exceeds the amount of any of these resources, your throughput is throttled - resulting in slower performance and timeouts. İş yükünüzün kullandığı kaynakları diğer SQL veritabanları Azure bulutta kullanılabilir kaynakları etkilemeyen ve diğer iş yükleri tarafından kullanılan kaynak SQL veritabanınız kullanılabilir kaynakları etkileyen değil.The resources used by your workload do not impact the resources available to other SQL databases in the Azure cloud, and the resource used by other workloads do not impact the resources available to your SQL database.

sınırlama kutusu

Dtu'lar en kaynakları Azure SQL veritabanları farklı performans düzeyleri ve hizmet katmanları arasındaki göreli miktarını anlamak için kullanışlıdır.DTUs are most useful for understanding the relative amount of resources between Azure SQL Databases at different performance levels and service tiers. Örneğin, bir veritabanı performans düzeyini artırarak Dtu'lar Katlama o veritabanına kullanılabilir kaynak kümesi Katlama için karşılık gelir.For example, doubling the DTUs by increasing the performance level of a database equates to doubling the set of resource available to that database. Örneğin, 1750 DTU’ya sahip Premium P11 veritabanı 5 DTU’ya sahip Temel veritabanına göre 350 kat daha fazla DTU işlem gücü sağlıyor.For example, a Premium P11 database with 1750 DTUs provides 350x more DTU compute power than a Basic database with 5 DTUs.

İş yükünüzün (DTU) kaynak tüketimini daha derin bir anlayış kazanmak için Azure SQL veritabanı sorgu performansı öngörüleri için:To gain deeper insight into the resource (DTU) consumption of your workload, use Azure SQL Database Query Performance Insight to:

  • Potansiyel olarak performansı için ayarlanan süre/CPU/yürütme sayısı tarafından en sık kullanılan sorguların tanımlayın.Identify the top queries by CPU/Duration/Execution count that can potentially be tuned for improved performance. Örneğin, bir g/ç yoğun sorgusu kullanımından yararlanabilir bellek içi iyileştirme tekniklerini düzeyde belirli hizmet katmanını ve performans kullanılabilir belleği daha iyi kullanılmasını sağlamak için.For example, an I/O 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.
  • Bir sorgu ayrıntıları detaya, metin ve kaynak kullanımı geçmişini görüntüleyin.Drill down into the details of a query, view its text and history of resource utilization.
  • Erişim performans tarafından gerçekleştirilen eylemler Göster önerileri ayarlama SQL veritabanı Danışmanı'nı.Access performance tuning recommendations that show actions performed by SQL Database Advisor.

Uygulamanızda çok az (genellikle ortalama dört saniyenin altında) kesinti ile dilediğiniz zaman hizmet katmanlarını değiştirebilirsiniz.You can change service tiers at any time with minimal downtime to your application (generally averaging under four seconds). Veritabanı oluşturabilmek ve veritabanı performansını isteğe göre yükseltip düşürebilmek, özellikle kullanım biçimlerinin nispeten tahmin edilebilir olduğu durumlarda birçok işletme ve uygulama için yeterlidir.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. Ancak tahmin edilemeyen kullanım biçimlerine sahipseniz bu durum maliyetlerin ve iş modelinizin yönetimini zorlaştırabilir.But if you have unpredictable usage patterns, it can make it hard to manage costs and your business model. Bu senaryoda, belirli bir havuzdaki birden fazla veritabanı arasında paylaşılan Edtu sayısı ile bir esnek havuz kullanın.For this scenario, you use an elastic pool with a certain number of eDTUs that are shared among multiple database in the pool.

SQL Veritabanı'na Giriş: Katmana ve düzeye göre tek veritabanı DTU’ları

Esnek veritabanı işlem birimleri (Edtu'lar) nelerdir?What are elastic Database Transaction Units (eDTUs)?

Bunun yerine her zaman gerekmeyen olup olmadığını bağımsız olarak, kullanılabilir bir SQL veritabanına adanmış bir kaynak (Dtu'lar) kümesi sağlayan daha veritabanlarına yerleştireceğiniz bir esnek havuz bir SQL veritabanı sunucusunda bu veritabanı arasında kaynak havuzunu paylaşır.Rather than provide a dedicated set of resources (DTUs) to a SQL Database that is always available regardless of whether needed not, you can place databases into an elastic pool on a SQL Database server that shares a pool of resources among those database. Paylaşılan kaynaklar bir esnek havuzdaki esnek veritabanı işlem birimleri veya Edtu ölçülür.The shared resources in an elastic pool measured by elastic Database Transaction Units or eDTUs. Esnek havuzlar, son derece farklı ve öngörülemeyen kullanım düzenlerine sahip birden çok veritabanına ilişkin performans hedeflerini yönetmek için basit ve uygun maliyetli bir çözüm sağlar.Elastic pools provide a simple cost effective solution to manage the performance goals for multiple databases that have widely varying and unpredictable usage patterns. Bir esnek havuz tek veritabanı tüm kaynakları kullanır garanti edebilir havuzda olduğunu ve ayrıca en az miktarda kaynak her zaman bir veritabanını bir esnek havuz için kullanılabilir.In an elastic pool, you can guarantee that no one database uses all of the resources in the pool and also that a minimum amount of resources is always available to a database in an elastic pool.

SQL Veritabanı'na Giriş: Katmana ve düzeye göre eDTU’lar

Havuza belirli bir fiyat karşılığında, belirli bir sayıda eDTU verilir.A pool is given a set number of eDTUs, for a set price. Elastik havuz içerisinde tek veritabanlarına yapılandırılan sınırlar içinde otomatik olarak ölçeklendirme elastikliği tanınır.Within the elastic pool, individual databases are given the flexibility to auto-scale within the configured boundaries. Bir veritabanı ağır yük altında talebi karşılamak için daha fazla eDTU kullanırken yükü hafif olan veritabanları daha az kullanabilir ve yük altında olmayan veritabanları eDTU’ya hiç ihtiyaç duymayabilir.Under heavy load, a database can consume more eDTUs to meet demand while databases under light loads consume less, up to the point that databases under no load consume no eDTUs. Kaynakları tek bir veritabanı yerine havuzun tamamına sağlayarak yönetim görevlerini daha kolay hale getirebilir ve havuz için tahmin edilebilir bir bütçe oluşturabilirsiniz.By provisioning resources for the entire pool, rather than per database, management tasks are simplified and you have a predictable budget for the pool.

Mevcut bir havuza, veritabanı kapalı kalma süresi ve havuzdaki veritabanları üzerinde herhangi bir etkisi olmadan ek eDTU’lar eklenebilir.Additional eDTUs can be added to an existing pool with no database downtime and with no impact on the databases in the pool. Benzer şekilde, ek eDTU’lara artık ihtiyaç yoksa bunlar mevcut bir havuzdan ne zaman isterseniz kaldırılabilir.Similarly, if extra eDTUs are no longer needed, they can be removed from an existing pool at any point in time. Havuza veritabanı ekleyebilir veya var olanları kaldırabilir ya da eDTU’ları diğer veritabanları için ayırmak üzere ağır yük altındaki bir veritabanının kullanabileceği eDTU miktarını sınırlayabilirsiniz.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. Bir veritabanı kaynakları çok az kullanıyorsa onu havuzdan çıkarabilir ve gereken tahmini kaynaklarla tek veritabanı olarak yapılandırabilirsiniz.If a database is predictably under-utilizing resources, you can move it out of the pool and configure it as a single database with predictable amount of resources it requires.

İş yükümün ihtiyacı olan DTU sayısını nasıl belirleyebilirim?How can I determine the number of DTUs needed by my workload?

Mevcut bir şirket içi veya SQL Server sanal makine iş yükünü Azure SQL Veritabanı’na geçirmek istiyorsanız, gereken yaklaşık DTU sayısını belirlemek için DTU Hesaplayıcı’yı kullanabilirsiniz.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. Mevcut bir Azure SQL Veritabanı iş yükünüzü iyileştirecek öngörüleri kazanmak amacıyla veritabanı kaynak tüketiminizi (DTU'lar) daha iyi anlamak için SQL Veritabanı Sorgu Performansı Öngörüleri’ni kullanabilirsiniz.For an existing Azure SQL Database workload, you can use SQL Database Query Performance Insight to understand your database resource consumption (DTUs) to get deeper insight into how to optimize your workload. sys.dm_db_ resource_stats DMV’sini kullanarak son bir saate ait kaynak tüketimi bilgilerini de alabilirsiniz.You can also use the sys.dm_db_ resource_stats DMV to get the resource consumption information for the last one hour. Alternatif olarak, sys.resource_stats katalog görünümü sorgulanarak aynı veriler son 14 gün için de alınabilir. Ancak bu veriler, beş dakikalık ortalamalar şeklinde daha düşük bir aslına uygunluk düzeyindedir.Alternatively, the catalog view sys.resource_stats can also be queried to get the same data for the last 14 days, although at a lower fidelity of five-minute averages.

Esnek bir kaynak havuzundan fayda sağlayıp sağlayamayacağımı nasıl öğrenebilirim?How do I know if I could benefit from an elastic pool of resources?

Havuzlar, belirli kullanım düzenlerine sahip çok sayıda veritabanı bulunan durumlar için uygundur.Pools are suited for a large number of databases with specific utilization patterns. Söz konusu kullanım düzeni, belirli bir veritabanı için ortalama düşük düzeyde kullanım ile nispeten nadir zamanlarda kullanımın ani olarak artması şeklindedir.For a given database, this pattern is characterized by low average utilization with relatively infrequent utilization spikes. SQL Veritabanı, mevcut bir SQL Veritabanı sunucusundaki veritabanlarının geçmiş kaynak kullanımını otomatik olarak değerlendirir ve Azure portalda uygun havuz yapılandırmasını önerir.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. Daha fazla bilgi için bkz. ne zaman elastik bir havuz kullanılması gerekir?For more information, see when should an elastic pool be used?

My maksimum Dtu isabet ne olur?What happens when I hit my maximum DTUs?

Performans düzeyleri, veritabanı iş yükünüzü seçilen hizmet katmanı/performans düzeyiniz için izin verilen en üst sınırlara kadar çalıştırmak üzere gereken kaynakları sağlamak için ayarlanıp yönetilir.Performance levels are calibrated and governed to provide the needed resources to run your database workload up to the max limits allowed for your selected service tier/performance level. İş yükünüz, CPU/Veri GÇ/Günlük GÇ sınırlarından birine ulaşıyorsa kaynakları, izin verilen maksimum düzeyde almaya devam ederseniz, ancak sorgularınızda artan gecikme süreleriyle karşılaşmanız olasıdır.If your workload is hitting the limits in one of CPU/Data IO/Log IO limits, you continue to receive the resources at the maximum allowed level, but you are likely to see increased latencies for your queries. Bu sınırlar herhangi bir hataya yol açmaz, yalnızca iş yükünü yavaşlatır. Yavaşlama sorguların zaman aşımına uğramasına sebep olacak kadar şiddetli hale gelirse hatayla karşılaşırsınız. İzin verilen en yüksek eş zamanlı kullanıcı oturumu/isteği (çalışan iş parçacıkları) sayısı sınırına ulaşırsanız açık hatalar görürsünüz.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 are hitting limits of maximum allowed concurrent user sessions/requests (worker threads), you see explicit errors. CPU, bellek, veri G/Ç ve işlem günlüğü G/Ç kaynakları dışındaki kaynaklara yönelik sınırlar hakkında bilgi edinmek için bkz. Azure SQL Database resource limits (Azure SQL Veritabanı kaynak sınırları).See Azure SQL Database resource limits for information on limit on resources other than CPU, memory, data I/O, and transaction log I/O.

Sonraki adımlarNext steps

  • Bkz: hizmet katmanı Dtu ve Edtu tek veritabanları ve esnek havuzlar için kullanılabilir bilgi, yanı sıra CPU dışındaki kaynaklarda sınırları, bellek, veri g/ç ve işlem günlük g/ç.See Service tier for information on the DTUs and eDTUs available for single databases and for elastic pools, as well as limits on resources other than CPU, memory, data I/O, and transaction log I/O.
  • DTU tüketiminizi anlamak için bkz. SQL Veritabanı Sorgu Performansı Öngörüleri.See SQL Database Query Performance Insight to understand your (DTUs) consumption.
  • DTU karışımını belirlemek için kullanılan OLTP kıyaslama iş yükünün arkasındaki metodolojiyi anlamak için bkz. SQL Database benchmark overview (SQL Veritabanı kıyaslamaya genel bakış).See SQL Database benchmark overview to understand the methodology behind the OLTP benchmark workload used to determine the DTU blend.