Bagikan melalui


Mengurangi Beban Penyetelan Server Produksi

Berlaku untuk: SQL ServerAzure SQL Database

Konsultan Penyetelan Mesin Database bergantung pada pengoptimal kueri untuk menganalisis beban kerja dan membuat rekomendasi penyetelan. Melakukan analisis ini pada server produksi menambah beban server dan dapat merusak performa server selama sesi penyetelan. Anda dapat mengurangi dampak pada beban server selama sesi penyetelan dengan menggunakan server pengujian selain server produksi.

Cara Konsultan Penyetelan Mesin Database Menggunakan Server Pengujian

Cara tradisional untuk menggunakan server pengujian adalah dengan menyalin semua data dari server produksi Anda ke server pengujian Anda, menyetel server pengujian, lalu menerapkan rekomendasi di server produksi Anda. Proses ini menghilangkan dampak performa pada server produksi Anda, tetapi bagaimanapun bukan solusi optimal. Misalnya, menyalin data dalam jumlah besar dari produksi ke server pengujian dapat mengonsumsi sejumlah besar waktu dan sumber daya. Selain itu, perangkat keras server pengujian jarang sekuat perangkat keras yang disebarkan untuk server produksi. Proses penyetelan bergantung pada pengoptimal kueri, dan rekomendasi yang dihasilkannya didasarkan sebagian pada perangkat keras yang mendasar. Jika perangkat keras server pengujian dan produksi tidak identik, kualitas rekomendasi Konsultan Penyetelan Mesin Database berkurang.

Untuk menghindari masalah ini, Konsultan Penyetelan Mesin Database menyetel database di server produksi dengan membongkar sebagian besar beban penyetelan ke server pengujian. Ini dilakukan dengan menggunakan informasi konfigurasi perangkat keras server produksi dan tanpa benar-benar menyalin data dari server produksi ke server pengujian. Konsultan Penyetelan Mesin Database tidak menyalin data aktual dari server produksi ke server pengujian. Ini hanya menyalin metadata dan statistik yang diperlukan.

Langkah-langkah berikut menguraikan proses untuk menyetel database produksi di server pengujian:

  1. Pastikan bahwa pengguna yang ingin menggunakan server pengujian ada di kedua server.

    Sebelum memulai, pastikan bahwa pengguna yang ingin menggunakan server pengujian untuk menyetel database di server produksi ada di kedua server. Ini mengharuskan Anda membuat pengguna dan loginnya di server pengujian. Jika Anda adalah anggota peran server tetap sysadmin di kedua komputer, langkah ini tidak diperlukan.

  2. Sesuaikan beban kerja di server pengujian.

    Untuk menyetel beban kerja di server pengujian, Anda harus menggunakan file input XML dengan utilitas baris perintah dta . Dalam file input XML, tentukan nama server pengujian Anda dengan subelemen TestServer selain menentukan nilai untuk subelemen lain di bawah elemen induk TuningOptions .

    Selama proses penyetelan, Konsultan Penyetelan Mesin Database membuat database shell di server pengujian. Untuk membuat database shell ini dan menyetelnya, Konsultan Penyetelan Mesin Database melakukan panggilan ke server produksi untuk hal berikut:

    1. Konsultan Penyetelan Mesin Database mengimpor metadata dari database produksi ke database shell server pengujian. Metadata ini mencakup tabel kosong, indeks, tampilan, prosedur tersimpan, pemicu, dan sebagainya. Hal ini memungkinkan kueri beban kerja dijalankan terhadap database shell server pengujian.

    2. Konsultan Penyetelan Mesin Database mengimpor statistik dari server produksi sehingga pengoptimal kueri dapat mengoptimalkan kueri secara akurat di server pengujian.

    3. Konsultan Penyetelan Mesin Database mengimpor parameter perangkat keras yang menentukan jumlah prosesor dan memori yang tersedia dari server produksi untuk menyediakan pengoptimal kueri dengan informasi yang diperlukan untuk menghasilkan rencana kueri.

  3. Setelah Konsultan Penyetelan Mesin Database selesai menyetel database shell server pengujian, ia menghasilkan rekomendasi penyetelan.

  4. Terapkan rekomendasi yang diterima dari penyetelan server pengujian ke server produksi.

Ilustrasi berikut menunjukkan server pengujian dan skenario server produksi:

Konsultan Penyetelan Mesin Database penggunaan server pengujian

Catatan

Fitur penyetelan server pengujian tidak didukung di antarmuka pengguna grafis (GUI) Konsultan Penyetelan Mesin Database.

Contoh

Pertama, pastikan bahwa pengguna yang ingin melakukan penyetelan ada di server pengujian dan produksi.

Setelah informasi pengguna disalin ke server pengujian, Anda dapat menentukan sesi penyetelan server pengujian dalam file input XML Konsultan Penyetelan Mesin Database. Contoh file input XML berikut mengilustrasikan cara menentukan server pengujian untuk menyetel database dengan Konsultan Penyetelan Mesin Database.

Dalam contoh ini, MyDatabaseName database sedang disetel pada MyServerName. Skrip Transact-SQL, MyWorkloadScript.sql, digunakan sebagai beban kerja. Beban kerja ini berisi peristiwa yang dijalankan terhadap MyDatabaseName. Sebagian besar panggilan pengoptimal kueri ke database ini, yang terjadi sebagai bagian dari proses penyetelan, ditangani oleh database shell yang berada di MyTestServerName. Database shell terdiri dari metadata dan statistik. Proses ini menghasilkan overhead penyetelan yang dilepaskan ke server pengujian. Ketika Konsultan Penyetelan Mesin Database menghasilkan rekomendasi penyetelannya menggunakan file input XML ini, itu harus mempertimbangkan indeks saja (<FeatureSet>IDX</FeatureSet>), tidak ada partisi, dan tidak perlu menyimpan salah satu struktur desain fisik yang ada di MyDatabaseName.

<?xml version="1.0" encoding="utf-16" ?>  
<DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/sqlserver/2004/07/dta">  
  <DTAInput>  
    <Server>  
      <Name>MyServerName</Name>  
      <Database>  
        <Name>MyDatabaseName</Name>  
      </Database>  
    </Server>  
    <Workload>  
      <File>MyWorkloadScript.sql</File>  
    </Workload>  
    <TuningOptions>  
      <TestServer>MyTestServerName</TestServer>  
      <FeatureSet>IDX</FeatureSet>  
      <Partitioning>NONE</Partitioning>  
      <KeepExisting>NONE</KeepExisting>  
    </TuningOptions>  
  </DTAInput>  
</DTAXML>  

Lihat Juga

Pertimbangan untuk Menggunakan Server Pengujian
Referensi File Input XML (Konsultan Penyetelan Mesin Database)