Aracılığıyla paylaş


Kaynak Sınıflarını İş Yükü Gruplarına Dönüştürme

İş yükü grupları, sistem kaynaklarını yalıtmak ve içermek için bir mekanizma sağlar. Ayrıca iş yükü grupları, içinde çalışan istekler için yürütme kuralları ayarlamanıza olanak sağlar. Sorgu zaman aşımı yürütme kuralı, kullanıcı müdahalesi olmadan kaçak sorguların iptal edilmesini sağlar. Bu makalede, mevcut bir kaynak sınıfının nasıl alınacağı ve benzer bir yapılandırmaya sahip bir iş yükü grubunun nasıl oluşturulacağı açıklanmaktadır. Ayrıca isteğe bağlı bir sorgu zaman aşımı kuralı eklenir.

Dekont

İş yükü gruplarını ve kaynak sınıflarını aynı anda kullanma yönergeleri için İş Yükü Sınıflandırması kavramı belgesindeki Kaynak sınıfı atamalarını sınıflandırıcılarla karıştırma bölümüne bakın.

Mevcut kaynak sınıfı yapılandırmasını anlama

İş yükü grupları, istek başına ayrılan genel sistem kaynaklarının yüzdesini belirten adlı REQUEST_MIN_RESOURCE_GRANT_PERCENT bir parametre gerektirir. Kaynak ayırma, eşzamanlılık yuvaları ayrılarak kaynak sınıfları için yapılır. için belirtecek değeri belirlemek için REQUEST_MIN_RESOURCE_GRANT_PERCENTsys.dm_workload_management_workload_groups_stats DMV'sini kullanın. Örneğin, aşağıdaki sorgu staticrc40'a benzer bir iş yükü grubu oluşturmak için parametresi için REQUEST_MIN_RESOURCE_GRANT_PERCENT kullanılabilecek bir değer döndürür.

SELECT Request_min_resource_grant_percent = Effective_request_min_resource_grant_percent
  FROM sys.dm_workload_management_workload_groups_stats
  WHERE name = 'staticrc40'

Dekont

İş yükü grupları, genel sistem kaynaklarının yüzdesine göre çalışır.

İş yükü grupları, ölçeği artırıp azalttıkça genel sistem kaynaklarının yüzdesine göre çalıştığından, genel sistem kaynaklarına göre statik kaynak sınıflarına ayrılan kaynakların yüzdesi değişir. Örneğin, DW1000c'deki staticrc40, genel sistem kaynaklarının %19,2'sini ayırır. DW2000c'de %9,6 ayrılmıştır. Eşzamanlılık ölçeğini artırmak ve istek başına daha fazla kaynak ayırmak istiyorsanız bu model benzerdir.

İş Yükü Grubu Oluştur

bilinen REQUEST_MIN_RESOURCE_GRANT_PERCENTile create WORKLOAD GROUP söz dizimini kullanarak iş yükü grubunu oluşturabilirsiniz. İsteğe bağlı olarak, iş yükü grubunun kaynaklarını yalıtmak için sıfırdan büyük bir MIN_PERCENTAGE_RESOURCE belirtebilirsiniz. Ayrıca, iş yükü grubunun kullanabileceği kaynak miktarını sınırlamak için isteğe bağlı olarak 100'den az kaynak belirtebilirsiniz CAP_PERCENTAGE_RESOURCE .

Örnek için temel olarak mediumrc kullanıldığında, aşağıdaki kod sistem kaynaklarının MIN_PERCENTAGE_RESOURCE wgDataLoads %10'unu ayrılmış olarak ayarlar ve bir sorgunun her zaman çalıştırılabilmesini garanti eder. Ayrıca % CAP_PERCENTAGE_RESOURCE 40 olarak ayarlanır ve bu iş yükü grubunu dört eşzamanlı istekle sınırlar. Parametresi 3600 olarak ayarlanarak QUERY_EXECUTION_TIMEOUT_SEC , 1 saatten uzun süre çalışan tüm sorgular otomatik olarak iptal edilir.

CREATE WORKLOAD GROUP wgDataLoads WITH  
( REQUEST_MIN_RESOURCE_GRANT_PERCENT = 10
 ,MIN_PERCENTAGE_RESOURCE = 10
 ,CAP_PERCENTAGE_RESOURCE = 40
 ,QUERY_EXECUTION_TIMEOUT_SEC = 3600)

Sınıflandırıcı oluşturma

Daha önce, sorguların kaynak sınıflarına eşlemesi sp_addrolemember ile yapılıyordu. Aynı işlevselliği elde etmek ve istekleri iş yükü gruplarına eşlemek için CREATE WORKLOAD CLASSIFIER söz dizimini kullanın. sp_addrolemember kullanarak kaynakları yalnızca oturum açma bilgilerine göre bir istekle eşleyebilirsiniz. Sınıflandırıcı, oturum açmanın yanı sıra ek seçenekler de sağlar: - etiket - oturum - zaman Aşağıdaki örnek, yukarıda oluşturulan iş yükü grubuna wgDataLoads OPTION LABEL ayarının da ayarlandığı factloads oturum açma bilgisinden AdfLogin sorgular atar.

CREATE WORKLOAD CLASSIFIER wcDataLoads WITH  
( WORKLOAD_GROUP = 'wgDataLoads'
 ,MEMBERNAME = 'AdfLogin'
 ,WLM_LABEL = 'factloads')

Örnek sorguyla test edin

aşağıda, iş yükü grubunun ve sınıflandırıcının doğru yapılandırıldığından emin olmak için örnek bir sorgu ve bir DMV sorgusu verilmiştir.

SELECT SUSER_SNAME() --should be 'AdfLogin'

--change to a valid table AdfLogin has access to
SELECT TOP 10 *
  FROM nation
  OPTION (label='factloads')

SELECT request_id, [label], classifier_name, group_name, command
  FROM sys.dm_pdw_exec_requests
  WHERE [label] = 'factloads'
  ORDER BY submit_time DESC

Sonraki adımlar