Bagikan melalui


Convert Resource Classes to Workload Groups

Grup beban kerja menyediakan mekanisme untuk mengisolasi dan membatasi sumber daya sistem. Selain itu, grup beban kerja memungkinkan Anda mengatur aturan eksekusi untuk permintaan yang berjalan di dalamnya. A query timeout execution rule allows runaway queries to be canceled without user intervention. Artikel ini menjelaskan cara mengambil kelas sumber daya yang ada dan membuat grup beban kerja dengan konfigurasi serupa. In addition, an optional query timeout rule is added.

Nota

Lihat bagian Mencampur penetapan kelas sumber daya dengan pengklasifikasi di dokumen konsep Klasifikasi Beban Kerja untuk panduan tentang menggunakan grup beban kerja dan kelas sumber daya secara bersamaan.

Memahami konfigurasi kelas sumber daya yang ada

Grup beban kerja memerlukan parameter yang disebut REQUEST_MIN_RESOURCE_GRANT_PERCENT yang menentukan persentase keseluruhan sumber daya sistem yang dialokasikan per permintaan. Alokasi sumber daya dilakukan untuk kelas sumber daya dengan mengalokasikan slot konkurensi. To determine the value to specify for REQUEST_MIN_RESOURCE_GRANT_PERCENT, use the sys.dm_workload_management_workload_groups_stats DMV. Misalnya, kueri di bawah ini mengembalikan nilai yang dapat digunakan sebagai parameter REQUEST_MIN_RESOURCE_GRANT_PERCENT untuk membuat grup beban kerja yang mirip dengan staticrc40.

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

Nota

Grup beban kerja beroperasi berdasarkan persentase sumber daya sistem secara keseluruhan.

Karena grup beban kerja beroperasi berdasarkan persentase sumber daya sistem keseluruhan, saat Anda meningkatkan dan menurunkan skala, persentase sumber daya yang dialokasikan untuk kelas sumber daya statis relatif terhadap perubahan sumber daya sistem secara keseluruhan. Misalnya, staticrc40 di DW1000c mengalokasikan 19,2% dari keseluruhan sumber daya sistem. At DW2000c, 9.6% are allocated. Model ini mirip jika Anda ingin meningkatkan skala untuk konkurensi versus mengalokasikan lebih banyak sumber daya per permintaan.

Membuat Grup Beban Kerja

Dengan REQUEST_MIN_RESOURCE_GRANT_PERCENT yang diketahui, Anda dapat menggunakan sintaks CREATE WORKLOAD GROUP untuk membuat grup beban kerja. Anda dapat secara opsional menentukan MIN_PERCENTAGE_RESOURCE yang lebih besar dari nol untuk mengisolasi sumber daya untuk grup beban kerja. Selain itu, Anda dapat secara opsional menentukan CAP_PERCENTAGE_RESOURCE kurang dari 100 untuk membatasi jumlah sumber daya yang dapat digunakan grup beban kerja.

Menggunakan mediumrc sebagai dasar untuk contoh, kode di bawah ini mengatur MIN_PERCENTAGE_RESOURCE untuk mendedikasikan 10% sumber daya sistem ke wgDataLoads dan menjamin satu kueri akan dapat berjalan sepanjang waktu. Selain itu, CAP_PERCENTAGE_RESOURCE diatur ke 40% dan membatasi grup beban kerja ini ke empat permintaan bersamaan. Dengan mengatur QUERY_EXECUTION_TIMEOUT_SEC parameter ke 3600, kueri apa pun yang berjalan selama lebih dari 1 jam akan dibatalkan secara otomatis.

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

Membuat Pengklasifikasi

Sebelumnya, pemetaan kueri ke kelas sumber daya dilakukan dengan sp_addrolemember. Untuk mencapai fungsionalitas yang sama dan memetakan permintaan ke grup beban kerja, gunakan sintaks CREATE WORKLOAD CLASSIFIER. Menggunakan sp_addrolemember hanya memungkinkan Anda memetakan sumber daya ke permintaan berdasarkan login. A classifier provides additional options besides login, such as: - label - session - time The below example assigns queries from the AdfLogin login that also have the OPTION LABEL set to factloads to the workload group wgDataLoads created above.

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

Menguji dengan sampel pertanyaan

Di bawah ini adalah kueri sampel dan kueri DMV untuk memastikan grup beban kerja dan pengklasifikasi dikonfigurasi dengan benar.

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

Langkah berikutnya