Bagikan melalui


Mengonversi Kelas Sumber Data menjadi Grup Beban Kerja

Grup beban kerja menyediakan mekanisme untuk mengisolasi dan menampung sumber daya sistem. Selain itu, grup beban kerja memungkinkan Anda menetapkan aturan eksekusi untuk permintaan yang berjalan di dalamnya. Aturan eksekusi waktu tunggu kueri memungkinkan kueri runaway dibatalkan tanpa intervensi pengguna. Artikel ini menjelaskan cara mengambil kelas sumber daya yang ada dan membuat grup beban kerja dengan konfigurasi serupa. Selain itu, aturan batas waktu kueri opsional ditambahkan.

Catatan

Lihat bagian Mencampur tugas kelas sumber daya dengan pengklasifikasi dalam dokumen konsep Klasifikasi Beban Kerja untuk panduan tentang penggunaan grup beban kerja dan kelas sumber daya secara bersamaan.

Memahami konfigurasi kelas sumber daya yang ada

Grup beban kerja memerlukan parameter bernama 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. Untuk menentukan nilai yang akan ditentukan untuk REQUEST_MIN_RESOURCE_GRANT_PERCENT, gunakan DMV sys.dm_workload_management_workload_groups_stats. Misalnya, kueri di bawah ini mengembalikan nilai yang dapat digunakan untuk parameter untuk REQUEST_MIN_RESOURCE_GRANT_PERCENT 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'

Catatan

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

Karena grup beban kerja beroperasi berdasarkan persentase sumber daya sistem secara keseluruhan, saat Anda meningkatkan dan menurunkan skala, persentase sumber daya yang dialokasikan ke kelas sumber daya statis relatif terhadap sumber daya sistem secara keseluruhan berubah. Misalnya, staticrc40 di DW1000c mengalokasikan 19,2% dari keseluruhan sumber daya sistem. Pada DW2000c, 9,6% akan dialokasikan. Model ini mirip jika Anda ingin meningkatkan konkurensi dibandingkan mengalokasikan lebih banyak sumber daya per permintaan.

Buat Grup Beban Kerja

Dengan REQUEST_MIN_RESOURCE_GRANT_PERCENT yang diketahui, Anda dapat menggunakan sintaksis BUAT KELOMPOK KERJA 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 juga dapat menentukan CAP_PERCENTAGE_RESOURCE kurang dari 100 secara opsional untuk membatasi jumlah sumber daya yang dapat digunakan oleh kelompok beban kerja.

Menggunakan mediumrc sebagai dasar untuk contoh, kode di bawah ini menetapkan MIN_PERCENTAGE_RESOURCE untuk mengkhususkan 10% dari sumber daya sistem ke wgDataLoads dan menjamin satu kueri akan dapat dijalankan setiap saat. Selain itu, CAP_PERCENTAGE_RESOURCE disetel ke 40% dan membatasi grup beban kerja ini hingga empat permintaan secara bersamaan. Dengan mengatur parameter QUERY_EXECUTION_TIMEOUT_SEC ke 3600, setiap kueri yang berjalan 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 sintaksis CREATE WORKLOAD CLASSIFIER. Menggunakan sp_addrolemember hanya memungkinkan Anda untuk memetakan sumber daya ke permintaan berdasarkan login. Pengklasifikasi menyediakan opsi tambahan selain data masuk, seperti: - label - sesi - waktu Contoh di bawah ini menetapkan kueri dari data masuk AdfLogin yang juga memiliki OPTION LABEL yang diatur ke factloads ke grup beban kerja wgDataLoads yang dibuat di atas.

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

Menguji dengan sampel kueri

Di bawah ini adalah contoh kueri 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