Mengonfigurasi dan memelihara kinerja
Memahami kemampuan Azure SQL penting untuk memberikan kinerja yang konsisten. Penting juga untuk memahami opsi dan batasan yang harus Anda konfigurasi di Azure SQL Managed Instance dan Azure SQL Database yang dapat memengaruhi kinerja. Ini termasuk yang berikut:
- Topik
tempdb
database - Mengonfigurasi database
- Mengonfigurasi file dan grup file
- Mengonfigurasi tingkat paralelisme maks
- Menggunakan Resource Governor
- Mempertahankan indeks dan statistik
Tempdb
Database tempdb
sistem adalah sumber daya bersama penting yang digunakan oleh aplikasi. Memastikan konfigurasi tempdb
yang tepat dapat memengaruhi kemampuan Anda untuk memberikan performa yang konsisten. Anda menggunakan tempdb
dengan cara yang sama untuk SQL Server dan Azure SQL. Namun, perhatikan bahwa kemampuan Anda untuk mengonfigurasi tempdb
berbeda, termasuk penempatan file, jumlah dan ukuran file, dan tempdb
opsi konfigurasi.
File tempdb
database selalu disimpan secara otomatis pada drive SSD lokal, sehingga performa I/O seharusnya tidak menjadi masalah.
Profesional SQL Server sering menggunakan lebih dari satu file database untuk mempartisi alokasi untuk tempdb
tabel. Untuk Azure SQL Database, jumlah file diskalakan dengan jumlah vCore (misalnya, dua vCore sama dengan empat file) dengan maksimum 16. Jumlah file tidak dapat dikonfigurasi melalui T-SQL terhadap tempdb
, tetapi Anda dapat mengonfigurasinya dengan mengubah opsi penyebaran. Ukuran tempdb
maksimum diskalakan per jumlah vCore. Anda mendapatkan 12 file dengan SQL Managed Instance, terpisah dari vCores.
Opsi MIXED_PAGE_ALLOCATION
database diatur ke NONAKTIF, dan AUTOGROW_ALL_FILES
diatur ke AKTIF. Anda tidak dapat mengonfigurasi ini, tetapi, seperti halnya SQL Server, ini adalah default yang direkomendasikan.
Fitur tempdb
pengoptimalan metadata yang diperkenalkan di SQL Server 2019, yang dapat meringankan ketidakcocokan kait berat, saat ini tidak tersedia di Azure SQL Database atau Azure SQL Managed Instance.
Konfigurasi database
Umumnya, Anda mengonfigurasi database dengan T-SQL ALTER DATABASE dan MENGUBAH PERNYATAAN KONFIGURASI LINGKUP DATABASE. Banyak opsi konfigurasi untuk kinerja tersedia untuk Azure SQL. Lihat referensi ALTER DATABASE dan ALTER DATABASE SCOPED CONFIGURATION T-SQL untuk perbedaan antara SQL Server, Azure SQL Database, dan Azure SQL Managed Instance.
Untuk kinerja, salah satu opsi yang tidak bisa Anda ubah adalah model pemulihan database. Defaultnya adalah pemulihan penuh. Ini memastikan database Anda dapat memenuhi perjanjian tingkat layanan Azure (SLA). Oleh karena itu, pencatatan minimal untuk operasi massal tidak didukung. Pengelogan minimal untuk operasi massal didukung untuk tempdb
.
Berkas dan kelompok berkas
Para profesional SQL Server sering menggunakan file dan grup file untuk meningkatkan kinerja I/O melalui penempatan file fisik. Azure SQL tidak memperbolehkan pengguna untuk menempatkan file pada sistem disk tertentu. Namun, Azure SQL memiliki komitmen sumber daya untuk kinerja I/O sehubungan dengan tarif, IOPS, dan latensi. Dengan cara ini, mengabstraksi pengguna dari penempatan file fisik dapat menjadi bermanfaat.
Azure SQL Database hanya memiliki satu file database (Hyperscale biasanya memiliki beberapa file), dan ukuran maksimum dikonfigurasi melalui antarmuka Azure. Tidak ada fungsionalitas untuk membuat file tambahan.
Azure SQL Managed Instance mendukung penambahan file database dan mengonfigurasi ukuran, tetapi bukan penempatan fisik file. Anda dapat menggunakan jumlah file dan ukuran file untuk SQL Managed Instance untuk meningkatkan performa I/O. Selain itu, grup file yang ditentukan pengguna didukung untuk SQL Managed Instance untuk tujuan pengelolaan.
Konfigurasi MAXDOP
Tingkat paralelisme maksimum (MAXDOP) dapat mempengaruhi kinerja kueri individu. SQL Server dan Azure SQL menangani MAXDOP dengan cara yang sama. Anda dapat mengonfigurasi MAXDOP di Azure SQL, mirip dengan SQL Server, dengan menggunakan teknik berikut:
- UBAH KONFIGURASI LINGKUP DATABASE untuk mengonfigurasi MAXDOP didukung untuk Azure SQL.
- Prosedur yang disimpan sp_configure untuk "tingkat paralelisme maks" didukung untuk SQL Managed Instance.
- Petunjuk kueri MAXDOP didukung penuh.
- Mengonfigurasi MAXDOP dengan Resource Governor yang didukung untuk SQL Managed Instance.
Resource Governor
Resource Governor adalah fitur di SQL Server yang dapat Anda gunakan untuk mengontrol penggunaan sumber daya untuk beban kerja melalui I/O, CPU, dan memori. Perhatikan bahwa untuk grup dan kumpulan beban kerja yang ditentukan pengguna, Resource Governor didukung untuk SQL Managed Instance, tetapi tidak didukung untuk Azure SQL Database.
Pemeliharaan indeks
Pembuatan dan pemeliharaan indeks untuk Azure SQL sama persis dengan untuk SQL Server. Misalnya, membuat, membangun kembali, dan mengatur ulang indeks didukung sepenuhnya, seperti halnya SQL Server. Ini termasuk indeks online dan yang dapat dilanjutkan.
Pemeliharaan statistik
SQL Server dan Azure SQL menangani MAXDOP dengan cara yang sama. Opsi statistik otomatis untuk database tersedia untuk keduanya.
Sekarang setelah Anda mempelajari beberapa opsi konfigurasi dan pemeliharaan untuk performa untuk Azure SQL, selesaikan pemeriksaan pengetahuan berikut sebelum melanjutkan ke unit berikutnya.