Penyimpanan: Praktik terbaik untuk performa SQL Server pada komputer virtual Azure
Berlaku untuk: SQL Server di Azure VM
Artikel ini menyediakan praktik dan panduan terbaik penyimpanan untuk mengoptimalkan performa untuk SQL Server Anda di Azure Virtual Machines (VM).
Biasanya ada trade-off antara mengoptimalkan biaya dan mengoptimalkan performa. Seri praktik terbaik performa ini difokuskan untuk mendapatkan performa terbaik untuk SQL Server di Azure VM. Jika beban kerja Anda tidak terlalu berat, Anda mungkin tidak memerlukan setiap pengoptimalan yang direkomendasikan. Pertimbangkan kebutuhan performa, biaya, dan pola beban kerja Anda saat Anda mengevaluasi rekomendasi ini.
Untuk mempelajari selengkapnya, lihat artikel lain dalam seri ini: Daftar periksa, Ukuran komputer virtual, Keamanan, Konfigurasi HADR, dan Mengumpulkan garis besar.
Daftar periksa
Tinjau daftar periksa berikut untuk ringkasan singkat tentang praktik terbaik ukuran komputer virtual yang dibahas pada bagian lain artikel secara lebih mendetail:
- Pantau aplikasi dan tentukan bandwidth penyimpanan dan persyaratan latensi untuk data, log, dan
tempdb
file SQL Server sebelum memilih jenis disk. - Jika tersedia, konfigurasikan
tempdb
data dan file log pada volume D: SSD lokal. Ekstensi SQL IaaS Agent menangani folder dan izin yang diperlukan setelah provisi ulang. - Untuk mengoptimalkan performa penyimpanan, rencanakan IOPS tertinggi non-cache yang tersedia, serta gunakan penembolokan data sebagai fitur performa untuk membaca data sambil menghindari penutupan/ pembatasan disk komputer virtual.
- Saat menggunakan VM SQL Server seri Ebdsv5 atau Ebsv5 , gunakan Premium SSD v2 untuk performa harga terbaik. Anda dapat menyebarkan komputer virtual SQL Server Anda dengan Premium SSD v2 dengan menggunakan portal Azure (saat ini dalam pratinjau).
- Tempatkan data, log, dan
tempdb
file pada drive terpisah.- Untuk drive data, gunakan disk premium P30 dan P40 atau yang lebih kecil untuk memastikan ketersediaan dukungan cache. Saat menggunakan seri VM Ebdsv5, gunakan Premium SSD v2 yang memberikan performa harga yang lebih baik untuk beban kerja yang memerlukan throughput IOPS dan I/O tinggi.
- Untuk rencana drive log untuk kapasitas dan performa pengujian versus biaya saat mengevaluasi disk Premium SSD v2 atau Premium SSD P30 - P80
- Jika latensi penyimpanan submillisecond diperlukan, gunakan disk ultra Premium SSD v2 atau Azure untuk log transaksi.
- Untuk penyebaran komputer virtual seri M, pertimbangkan akselerator tulis menggunakan disk ultra Azure.
- Tempatkan tempdb pada disk sementara (disk sementara bersifat sementara, dan default ke
D:\
) untuk sebagian besar beban kerja SQL Server yang bukan bagian dari instans kluster failover (FCI) setelah memilih ukuran VM yang optimal.- Jika kapasitas drive lokal tidak cukup untuk , pertimbangkan untuk
tempdb
meningkatkan ukuran VM. Untuk informasi selengkapnya, lihat Kebijakan penembolokan file data.
- Jika kapasitas drive lokal tidak cukup untuk , pertimbangkan untuk
- Untuk tempat
tempdb
instans kluster failover (FCI) pada penyimpanan bersama.- Jika beban kerja FCI sangat bergantung pada
tempdb
performa disk, maka sebagai tempattempdb
konfigurasi tingkat lanjut pada drive SSD sementara (defaultD:\
) lokal, yang bukan bagian dari penyimpanan FCI. Konfigurasi ini memerlukan pemantauan dan tindakan kustom untuk memastikan drive SSD sementara (defaultD:\
) lokal tersedia sepanjang waktu karena kegagalan drive ini tidak akan memicu tindakan dari FCI.
- Jika beban kerja FCI sangat bergantung pada
- Strip beberapa disk data Azure menggunakan Ruang Penyimpanan untuk meningkatkan bandwidth I/O hingga batas IOPS dan throughput komputer virtual target.
- Atur penembolokan host ke baca-saja untuk disk file data.
- Atur penembolokan host ke tidak ada untuk disk file log.
- Jangan mengaktifkan cache baca/tulis pada disk yang berisi data SQL Server atau file log.
- Selalu hentikan layanan SQL Server sebelum mengubah pengaturan cache disk Anda.
- Saat memigrasikan beberapa beban kerja yang berbeda ke cloud, Azure Elastic SAN dapat menjadi solusi penyimpanan konsolidasi hemat biaya. Namun, saat menggunakan Azure Elastic SAN, mencapai IOPS/throughput yang diinginkan untuk beban kerja SQL Server sering memerlukan kapasitas provisi berlebih. Meskipun biasanya tidak sesuai untuk beban kerja SQL Server tunggal, Anda dapat memperoleh solusi hemat biaya saat menggabungkan beban kerja berkinerja rendah dengan SQL Server.
- Untuk pengembangan dan pengujian beban kerja, dan pengarsipan cadangan jangka panjang pertimbangkan menggunakan penyimpanan standar. Tidak disarankan untuk menggunakan HDD/SSD Standar untuk beban kerja produksi.
- Disk Bursting berbasis kredit (P1-P20) hanya boleh dipertimbangkan untuk beban kerja pengembangan/pengujian dan sistem departemen yang lebih kecil.
- Untuk mengoptimalkan performa penyimpanan, rencanakan IOPS tertinggi yang tidak di-cache yang tersedia, dan gunakan penembolokan data sebagai fitur performa untuk pembacaan data sambil menghindari pembatasan/pembatasan disk komputer virtual.
- Format disk data Anda untuk menggunakan ukuran unit alokasi sebesar 64 KB untuk semua file data yang ditempatkan pada drive selain drive sementara
D:\
(yang memiliki alokasi default 4 KB). Komputer virtual SQL Server yang disebarkan melalui Marketplace Azure dilengkapi dengan disk data yang diformat dengan ukuran unit alokasi dan interleave untuk kumpulan penyimpanan yang diatur ke 64 KB. - Konfigurasikan akun penyimpanan di wilayah yang sama dengan komputer virtual SQL Server.
- Nonaktifkan penyimpanan geo-redundan Azure (geo-replikasi) dan gunakan LRS (penyimpanan lokal-redundan) pada akun penyimpanan.
- Aktifkan Penilaian Praktik Terbaik SQL untuk mengidentifikasi kemungkinan masalah performa dan mengevaluasi bahwa komputer virtual SQL Server Anda dikonfigurasi untuk mengikuti praktik terbaik.
- Tinjau dan pantau batas disk dan VM menggunakan metrik pemanfaatan IO Penyimpanan.
- Kecualikan file SQL Server dari pemindaian perangkat lunak antivirus, termasuk file data, file log, dan file cadangan.
Untuk membandingkan daftar periksa penyimpanan dengan praktik terbaik lainnya, lihat daftar periksa Praktik terbaik Performa yang komprehensif.
Gambaran Umum
Untuk menemukan konfigurasi paling efektif untuk beban kerja SQL Server pada komputer virtual Azure, mulailah dengan mengukur performa penyimpanan aplikasi bisnis Anda. Setelah persyaratan penyimpanan diketahui, pilih komputer virtual yang mendukung IOPS dan throughput yang diperlukan dengan rasio memori-ke-vCore yang sesuai.
Pilih ukuran komputer virtual dengan skalabilitas penyimpanan yang cukup untuk beban kerja Anda dan campuran disk (biasanya di kumpulan penyimpanan) yang memenuhi persyaratan kapasitas dan performa bisnis Anda.
Jenis disk tergantung pada jenis file yang dihosting pada disk dan persyaratan performa puncak Anda.
Tip
Menyediakan komputer virtual SQL Server melalui portal Azure membantu memandu Anda melalui proses konfigurasi penyimpanan dan menerapkan sebagian besar praktik terbaik penyimpanan seperti membuat kumpulan penyimpanan terpisah untuk data dan file log Anda, menargetkan tempdb
ke D:\
drive, dan mengaktifkan kebijakan penembolokan yang optimal. Untuk informasi selengkapnya tentang penyediaan dan konfigurasi penyimpanan, lihat konfigurasi penyimpanan SQL VM.
Jenis disk komputer virtual
Anda memiliki pilihan dalam tingkat performa untuk disk Anda. Jenis disk terkelola yang tersedia sebagai penyimpanan yang mendasar (tercantum oleh peningkatan kemampuan performa) adalah hard disk drive Standar (HDD), drive solid-state Standar (SSD), SSD Premium, Premium SSD v2, dan Ultra Disk.
Untuk HDD Standar, SSD Standar, dan SSD Premium, performa disk meningkat dengan ukuran disk, dikelompokkan menurut label disk premium seperti P1 dengan ruang 4 GiB dan 120 IOPS ke P80 dengan penyimpanan 32 TiB dan 20.000 IOPS. Penyimpanan premium mendukung cache penyimpanan yang membantu meningkatkan performa baca dan tulis untuk beban kerja berat. Untuk informasi tambahan, lihat Gambaran umum disk terkelola.
Performa Premium SSD v2 dan Ultra Disk dapat diubah secara independen dari ukuran disk, untuk detailnya lihat Performa disk Ultra dan performa Premium SSD v2.
Ada juga tiga peran disk utama yang perlu dipertimbangkan untuk SQL Server Anda di Azure VM - disk OS, disk sementara, dan disk data Anda. Hati-hati memilih apa yang disimpan pada drive sistem operasi (C:\)
dan drive sementara (D:\)
.
Disk sistem operasi
Disk sistem operasi adalah VHD yang dapat di-boot dan dipasang sebagai versi sistem operasi yang berjalan dan dilabeli sebagai drive C:\
. Saat Anda membuat mesin virtual (VM) Azure, platform akan melampirkan setidaknya satu disk ke VM sebagai disk sistem operasi. Drive C:\
adalah lokasi default untuk pemasangan aplikasi dan konfigurasi file.
Untuk lingkungan SQL Server produksi, jangan gunakan disk sistem operasi untuk file data, file log, log kesalahan.
Disk sementara
Banyak Azure VM berisi jenis disk lain yang disebut disk sementara (berlabel sebagai D:\
drive). Tergantung pada seri VM dan ukuran kapasitas disk ini akan bervariasi. Disk sementara bersifat sementara, yang berarti penyimpanan disk dibuat ulang (seperti dalam, disk dibatalkan alokasinya dan dialokasikan lagi), ketika VM dimulai ulang, atau dipindahkan ke host yang berbeda (misalnya untuk penyembuhan layanan).
Drive penyimpanan sementara tidak disimpan ke penyimpanan jarak jauh, sehingga tidak boleh digunakan untuk menyimpan file database pengguna, file log transaksi, atau file apa pun yang harus dipertahankan. Misalnya, Anda dapat menggunakannya untuk ekstensi kumpulan buffer, file halaman, dan tempdb
.
Tempatkan tempdb
pada drive SSD D:\
sementara lokal untuk beban kerja SQL Server kecuali konsumsi cache lokal menjadi perhatian. Jika Anda menggunakan VM yang tidak memiliki disk sementara, disarankan untuk menempatkan tempdb
disk atau kumpulan penyimpanan terisolasi sendiri dengan penembolokan diatur ke baca-saja. Untuk mempelajari lebih lanjut, lihat kebijakan penembolokan data tempdb.
Disk data
Disk data adalah disk penyimpanan jarak jauh yang sering dibuat di kumpulan penyimpanan untuk melebihi kapasitas dan performa yang dapat ditawarkan disk tunggal ke VM.
Lampirkan jumlah minimum disk yang memenuhi persyaratan IOPS, throughput, dan kapasitas beban kerja Anda. Jangan melebihi jumlah maksimum disk data dari VM terkecil yang Anda rencanakan untuk diubah ukurannya.
Tempatkan data dan file log pada disk data yang dianggap paling sesuai dengan persyaratan performa.
Format disk data Anda untuk menggunakan ukuran unit alokasi sebesar 64 KB untuk semua file data yang ditempatkan pada drive selain drive sementara D:\
(yang memiliki alokasi default 4 KB). Komputer virtual SQL Server yang disebarkan melalui Marketplace Azure dilengkapi dengan disk data yang diformat dengan ukuran unit alokasi dan interleave untuk kumpulan penyimpanan yang diatur ke 64 KB.
Catatan
Dimungkinkan juga untuk menghosting file database SQL Server Anda langsung di penyimpanan Azure Blob atau pada penyimpanan SMB seperti berbagi file premium Azure, tetapi sebaiknya gunakan disk terkelola Azure untuk performa, keandalan, dan ketersediaan fitur terbaik.
SSD v2 Premium
Anda harus menggunakan disk Premium SSD v2 saat menjalankan beban kerja SQL Server di wilayah yang didukung, jika batasan saat ini cocok untuk lingkungan Anda. Bergantung pada konfigurasi Anda, SSD Premium v2 bisa lebih murah daripada SSD Premium, sekaligus memberikan peningkatan performa. Dengan Premium SSD v2, Anda dapat secara individual menyesuaikan throughput atau IOPS Anda secara independen dari ukuran disk Anda. Mampu menyesuaikan opsi performa secara individual memungkinkan penghematan biaya yang lebih besar ini dan memungkinkan Anda untuk membuat skrip perubahan untuk memenuhi persyaratan performa selama periode kebutuhan yang diantisipasi atau diketahui.
Sebaiknya gunakan Premium SSD v2 saat menggunakan seri komputer virtual Ebdsv5 atau Ebsv5 karena ini adalah solusi yang lebih hemat biaya untuk mesin throughput I/O tinggi ini.
Anda dapat menyebarkan komputer virtual SQL Server Anda dengan Premium SSD v2 dengan menggunakan portal Azure (saat ini dalam pratinjau).
Jika Anda menyebarkan komputer virtual SQL Server dengan menggunakan portal Azure dan ingin menggunakan Premium SSD v2, saat ini Anda terbatas pada komputer virtual seri Ebdsv5 atau Ebsv5. Namun, jika Anda membuat VM secara manual dengan penyimpanan Premium SSD v2 lalu menginstal SQL Server secara manual pada VM, Anda dapat menggunakan seri VM apa pun yang mendukung Premium SSD v2. Pastikan untuk mendaftarkan komputer virtual SQL Server Anda dengan ekstensi SQL IaaS Agent sehingga Anda dapat memanfaatkan semua manfaat yang disediakan oleh ekstensi.
Azure Elastic SAN
Azure Elastic SAN adalah penawaran penyimpanan terlampir jaringan yang memberi pelanggan solusi yang fleksibel dan dapat diskalakan dengan potensi untuk mengurangi biaya melalui konsolidasi penyimpanan. Azure Elastic SAN memberikan solusi penyimpanan blok yang hemat biaya, berkinerja, dan andal yang terhubung ke berbagai layanan komputasi Azure melalui protokol iSCSI. Elastic SAN memungkinkan transisi yang mulus dari real estat penyimpanan SAN yang ada ke cloud tanpa harus merefaktor arsitektur aplikasi pelanggan.
Solusi ini dapat menskalakan hingga jutaan IOPS, throughput GB/dtk dua digit, dan latensi milidetik satu digit rendah, dengan ketahanan bawaan untuk meminimalkan waktu henti. Gunakan Azure Elastic SAN jika Anda perlu mengonsolidasikan penyimpanan, bekerja dengan beberapa layanan komputasi, atau memiliki beban kerja yang memerlukan tingkat throughput tinggi saat mendorong penyimpanan melalui bandwidth jaringan. Namun, karena mencapai IOPS/throughput yang diinginkan untuk beban kerja SQL Server sering memerlukan kapasitas provisi berlebih, biasanya tidak sesuai untuk beban kerja SQL Server tunggal. Menggabungkan beban kerja berkinerja rendah lainnya dengan SQL Server mungkin diperlukan untuk mencapai solusi yang paling hemat biaya.
Saat mempertimbangkan ukuran dan performa VM untuk Azure Elastic SAN, penting untuk memahami bahwa komunikasi penyimpanan terjadi melalui jaringan. Misalnya, ukuran VM E4d_v5 tidak mendukung Azure Premium Storage tetapi berfungsi dengan baik dengan Azure Elastic SAN karena mendukung throughput jaringan hingga 12.500 Mbps. Saat menggunakan Azure Elastic SAN dengan ukuran VM ini, Anda harus memastikan persyaratan throughput jaringan dan penyimpanan untuk beban kerja Anda berada di bawah batas throughput jaringan 12.500 Mbps.
Tentukan persyaratan jaringan dan penyimpanan Anda sebelum menyebarkan komputer virtual SQL Server Anda dengan Azure Elastic SAN, lalu pantau pemanfaatan jaringan dan penyimpanan dengan hati-hati untuk mengonfirmasi VM yang dipilih dapat mengakomodasi beban kerja. Untuk mempelajari lebih lanjut, tinjau performa VM dengan volume Elastic SAN dan metrik Elastic SAN.
Perhatian
- Ukuran VM dengan Elastic SAN harus mengakomodasi persyaratan throughput jaringan produksi (VM ke VM) selain throughput penyimpanan. Saat menggunakan Elastic SAN, ukuran VM yang mengoptimalkan throughput IO mungkin tidak hemat biaya seperti ukuran VM yang mengoptimalkan bandwidth jaringan.
Pertimbangkan untuk menempatkan beban kerja SQL Server di Elastic SAN untuk efisiensi biaya yang lebih baik karena:
- Konsolidasi penyimpanan dan berbagi performa dinamis: Biasanya untuk SQL Server pada beban kerja Azure VM, penyimpanan disk disediakan per VM berdasarkan kapasitas dan persyaratan performa puncak Anda untuk VM tersebut. Performa yang berlebihan ini tersedia saat diperlukan tetapi performa yang tidak digunakan tidak dapat dibagikan dengan beban kerja pada VM lain. ELASTIC SAN, mirip dengan SAN lokal, memungkinkan konsolidasi kebutuhan penyimpanan beberapa beban kerja SQL dan non-SQL untuk mencapai efisiensi biaya yang lebih baik, dengan kemampuan untuk berbagi performa yang disediakan secara dinamis di seluruh volume yang disediakan untuk beban kerja yang berbeda ini berdasarkan tuntutan IO. Misalnya, di wilayah US Timur, katakanlah Anda memiliki 10 beban kerja yang memerlukan kapasitas 2-TiB dan masing-masing IOPS 10K, tetapi secara kolektif mereka tidak memerlukan lebih dari 60.000 IOPS kapan saja. Anda dapat mengonfigurasi Elastic SAN dengan 12 unit dasar (1 unit dasar = $0,08 per GiB/bulan) yang akan memberi Anda kapasitas 12 TiB dan IOPS 60K yang diperlukan, dan 8 unit khusus kapasitas (1 unit khusus kapasitas = $0,06 per GiB/bulan), yang memberi Anda kapasitas 8 TiB yang tersisa dengan biaya yang lebih rendah. Konfigurasi penyimpanan optimal ini memberikan efisiensi biaya yang lebih baik sekaligus memberikan performa yang diperlukan (10K IOPS) untuk masing-masing beban kerja ini. Untuk informasi selengkapnya tentang unit provisi khusus kapasitas dan basis ELASTIC SAN, lihat Merencanakan Azure Elastic SAN dan untuk harga, kunjungi Azure Elastic SAN - Harga.
- Untuk mendorong throughput penyimpanan yang lebih tinggi: SQL Server pada penyebaran Azure VM terkadang memerlukan provisi VM yang berlebihan karena batas throughput disk untuk VM tersebut. Anda dapat menghindari ini dengan Elastic SAN, karena Anda mendorong throughput penyimpanan yang lebih tinggi melalui bandwidth jaringan komputasi dengan protokol iSCSI. Misalnya, VM Standard_E32ds_v5 dibatasi pada 51.200 IOPS dan 865 MBps untuk throughput disk/penyimpanan, tetapi dapat mencapai maksimum throughput jaringan 2.000 MBps. Jika persyaratan throughput penyimpanan untuk beban kerja Anda lebih besar dari 865 MBps, Anda tidak perlu meningkatkan VM ke SKU yang lebih besar karena sekarang dapat mendukung hingga 2.000 MBps dengan menggunakan Elastic SAN.
SSD Premium
Gunakan SSD Premium untuk data dan file log untuk beban kerja SQL Server produksi. IOPS dan bandwidth SSD premium bervariasi berdasarkan ukuran dan jenis disk.
Untuk beban kerja produksi, gunakan disk P30 dan/atau P40 untuk file data SQL Server untuk memastikan dukungan penembolokan dan menggunakan P30 hingga P80 untuk file log transaksi SQL Server. Untuk total biaya kepemilikan terbaik, mulailah dengan P30s (5000 IOPS/200 MBps) untuk file data dan log dan hanya pilih kapasitas yang lebih tinggi saat Anda perlu mengontrol jumlah disk VM. Untuk dev/test atau sistem kecil, Anda dapat memilih untuk menggunakan ukuran yang lebih kecil dari P30 karena ini mendukung penembolokan, tetapi mereka tidak menawarkan harga yang dipesan.
Untuk beban kerja OLTP, cocokkan target IOPS per disk (atau kumpulan penyimpanan) dengan persyaratan performa Anda menggunakan beban kerja pada waktu sibuk dan penghitung performa Disk Reads/sec
+ Disk Writes/sec
. Untuk beban kerja gudang data dan pelaporan, cocokkan throughput target menggunakan beban kerja pada waktu sibuk dan Disk Read Bytes/sec
+ Disk Write Bytes/sec
.
Gunakan Ruang Penyimpanan untuk mencapai performa optimal, mengonfigurasi dua kumpulan, satu untuk file log dan yang lainnya untuk file data. Jika Anda tidak menggunakan striping disk, gunakan dua disk SSD premium yang dipetakan ke drive terpisah, di mana satu drive berisi file log dan yang lain berisi data.
IOPS dan throughput yang disediakan per disk yang digunakan sebagai bagian dari kumpulan penyimpanan Anda. Kemampuan IOPS dan throughput gabungan dari disk adalah kemampuan maksimum hingga batas throughput VM.
Praktik terbaik adalah menggunakan jumlah disk sekecil mungkin yang memenuhi persyaratan minimal untuk IOPS (dan throughput) dan kapasitas. Namun, keseimbangan harga dan performa cenderung lebih baik dengan sejumlah besar disk kecil daripada sejumlah kecil disk besar.
Menskalakan disk premium
Ukuran SSD Premium Anda menentukan tingkat performa awal disk Anda. Tentukan tingkat performa saat penyebaran atau ubah setelahnya, tanpa mengubah ukuran disk. Jika permintaan meningkat, Anda dapat meningkatkan tingkat performa untuk memenuhi kebutuhan bisnis Anda.
Mengubah tingkat performa memungkinkan administrator untuk mempersiapkan dan memenuhi permintaan yang lebih tinggi tanpa mengandalkan disk bursting.
Gunakan performa yang lebih tinggi selama diperlukan di mana tagihan dirancang untuk memenuhi tingkat performa penyimpanan. Naikkan tingkatan agar sesuai dengan persyaratan performa tanpa meningkatkan kapasitas. Kembali ke tingkat awal ketika performa tambahan tidak lagi diperlukan.
Perluasan performa yang hemat biaya dan sementara ini adalah kasus penerapan yang kuat untuk acara yang ditargetkan seperti belanja, pengujian performa, acara pelatihan, dan jendela singkat lainnya di mana performa yang lebih besar hanya diperlukan untuk jangka pendek.
Untuk informasi selengkapnya, lihat Tingkat performa untuk disk terkelola.
Disk ultra Azure
Jika ada kebutuhan akan waktu respons submillisecond dengan latensi yang berkurang, pertimbangkan untuk menggunakan disk ultra Azure untuk drive log SQL Server, atau bahkan drive data untuk aplikasi yang sangat sensitif terhadap latensi I/O.
Disk ultra dapat dikonfigurasi di mana skala kapasitas dan IOPS dapat diubah secara independen. Dengan administrator disk ultra dapat menyediakan disk dengan kapasitas, IOPS, dan persyaratan throughput berdasarkan kebutuhan aplikasi.
Disk ultra tidak didukung pada semua seri VM dan memiliki batasan lain seperti ketersediaan wilayah, redundansi, dan dukungan untuk Azure Backup. Untuk mempelajari lebih lanjut, lihat Menggunakan disk ultra Azure untuk daftar lengkap batasan.
HDD dan SSD standar
SSD dan HDD standar memiliki latensi dan bandwidth bervariasi dan hanya direkomendasikan untuk beban kerja dev/test. Beban kerja produksi harus menggunakan SSD Premium v2 atau SSD Premium. Jika Anda menggunakan SSD Standar (skenario dev/test), rekomendasinya adalah menambahkan jumlah maksimum disk data yang didukung oleh ukuran VM Anda dan menggunakan striping disk dengan Ruang Penyimpanan untuk performa terbaik.
penembolokan
VM yang mendukung penembolokan penyimpanan premium dapat memanfaatkan fitur tambahan yang disebut Azure BlobCache atau penembolokan host untuk memperluas kemampuan IOPS dan throughput VM. VM yang diaktifkan untuk penyimpanan premium dan penembolokan penyimpanan premium memiliki dua batas bandwidth penyimpanan berbeda yang dapat digunakan bersama-sama untuk meningkatkan performa penyimpanan.
Throughput IOPS dan MBps tanpa penembolokan dihitung terhadap batas throughput disk VM yang tidak di-cache. Batas cache maksimum menyediakan buffer lain untuk bacaan yang membantu mengatasi pertumbuhan dan puncak yang tidak terduga.
Aktifkan penembolokan premium setiap kali opsi didukung untuk meningkatkan performa pembacaan terhadap drive data secara signifikan tanpa biaya tambahan.
Membaca dan menulis ke Azure BlobCache (IOPS dan throughput yang di-cache) tidak dihitung terhadap batas IOPS dan throughput VM yang tidak di-cache.
Catatan
Penembolokan Disk tidak didukung untuk disk 4 TiB dan yang lebih besar (P50 dan yang lebih besar). Jika beberapa disk terpasang ke VM Anda, setiap disk yang lebih kecil dari 4 TiB akan mendukung penembolokan. Untuk informasi selengkapnya, lihat Penembolokan disk.
Throughput yang tidak di-cache
IOPS dan throughput disk maksimum yang tidak di-cache adalah batas penyimpanan jarak jauh maksimum yang dapat ditangani VM. Batas ini didefinisikan pada VM dan bukan batas penyimpanan disk yang mendasar. Batas ini hanya berlaku untuk I/O terhadap drive data yang terpasang dari jarak jauh ke komputer virtual, bukan I/O lokal terhadap drive sementara (drive D:\
) atau drive OS.
Jumlah IOPS dan throughput yang tidak di-cache yang tersedia untuk VM dapat diverifikasi dalam dokumentasi untuk VM Anda.
Misalnya, dokumentasi M-series menunjukkan bahwa throughput maksimal tidak di-cache untuk komputer virtual Standard_M8ms adalah 5000 IOPS dan 125 MBps dari throughput disk tidak di-cache.
Demikian juga, Anda dapat melihat bahwa Standard_M32ts mendukung 20.000 IOPS disk yang tidak di-cache dan throughput disk yang tidak di-cache 500 MBps. Batas ini diatur pada tingkat VM terlepas dari penyimpanan disk premium yang mendasar.
Untuk informasi selengkapnya, lihat batas tembolok dan tanpa tembolok.
Throughput penyimpanan sementara dan di-cache
Batas throughput penyimpanan maksimum yang di-cache dan sementara adalah batas terpisah dari batas throughput yang tidak di-cache pada VM. Azure BlobCache terdiri dari kombinasi memori akses acak host VM dan SSD yang terpasang secara lokal. Drive sementara (D:\
drive) dalam VM juga dihosting di SSD lokal ini.
Batas maksimum throughput penyimpanan sementara dan di-cache mengatur I/O terhadap drive sementara lokal (drive D:\
) dan Azure BlobCache hanya jika penembolokan host diaktifkan.
Saat penembolokan diaktifkan pada penyimpanan premium, VM dapat menskalakan di luar batasan penyimpanan jarak jauh IOPS VM dan batas throughput yang tidak di-cache.
Hanya VM tertentu yang mendukung penyimpanan premium dan penembolokan penyimpanan premium (yang perlu diverifikasi dalam dokumentasi komputer virtual). Misalnya, dokumentasi Seri M menunjukkan bahwa penyimpanan premium, dan penembolokan penyimpanan premium didukung:
Batas cache bervariasi berdasarkan ukuran VM. Misalnya, VM Standard_M8ms mendukung IOPS disk cache 10000 dan throughput disk cache 1000-MBps dengan ukuran cache total 793 GiB. Demikian pula, VM Standard_M32ts mendukung IOPS disk cache 40000 dan throughput disk cache 400-MBps dengan ukuran cache total 3.174 GiB.
Anda dapat secara manual mengaktifkan penembolokan host pada komputer virtual yang ada. Hentikan semua beban kerja aplikasi dan layanan SQL Server sebelum perubahan apa pun dilakukan pada kebijakan penembolokan VM Anda. Mengubah salah satu pengaturan cache VM mengakibatkan disk target dilepas dan dipasang kembali setelah pengaturan diterapkan.
Kebijakan penembolokan file data
Kebijakan penembolokan penyimpanan Anda bervariasi tergantung pada jenis file data SQL Server yang dihosting di drive.
Tabel berikut ini menyediakan ringkasan kebijakan penembolokan yang direkomendasikan berdasarkan jenis data SQL Server:
Disk SQL Server | Rekomendasi |
---|---|
Disk data | Aktifkan penembolokan Read-only untuk disk yang menghosting file data SQL Server.Pembacaan dari cache akan lebih cepat daripada pembacaan yang belum di-cache dari disk data. IOPS dan throughput yang tidak di-cache ditambah IOPS cache dan throughput menghasilkan total kemungkinan performa yang tersedia dari VM dalam batas VM, tetapi performa aktual bervariasi berdasarkan kemampuan beban kerja untuk menggunakan cache (rasio hit cache). |
Disk log transaksi | Atur kebijakan penembolokan ke None untuk disk yang menghosting log transaksi. Tidak ada manfaat performa untuk mengaktifkan penembolokan untuk disk log Transaksi, dan sebenarnya mengaktifkan Read-only atau Read/Write penembolokan pada drive log dapat menurunkan performa penulisan terhadap drive dan mengurangi jumlah cache yang tersedia untuk pembacaan pada drive data. |
Disk OS yang beroperasi | Default kebijakan penembolokan adalah Read/write untuk drive OS.Tidak disarankan untuk mengubah tingkat penembolokan drive OS. |
tempdb |
Jika tempdb tidak dapat ditempatkan pada drive D:\ ephemeral karena alasan kapasitas, mengubah ukuran VM untuk mendapatkan drive ephemeral yang lebih besar atau tempat tempdb pada drive data terpisah dengan Read-only penembolokan dikonfigurasi.Cache VM dan drive sementara keduanya menggunakan SSD lokal, jadi ingatlah hal ini ketika ukuran karena tempdb I/O akan dihitung terhadap batas IOPS dan VM throughput yang di-cache saat dihosting pada drive sementara. |
Penting
Mengubah pengaturan cache disk Azure, melepas dan memasang kembali disk target. Saat mengubah pengaturan cache untuk disk yang menghosting SQL Server data, log, atau file aplikasi, pastikan untuk menghentikan layanan SQL Server bersama dengan layanan terkait lainnya untuk menghindari korupsi data.
Untuk mempelajari lebih lanjut, lihat Penembolokan disk.
Penghapusan Disk
Analisis throughput dan bandwidth yang diperlukan untuk file data SQL Anda untuk menentukan jumlah disk data, termasuk file log dan tempdb
. Batas throughput dan bandwidth bervariasi menurut ukuran VM. Untuk informasi selengkapnya, lihat Ukuran komputer virtual.
Tambahkan lebih banyak disk data dan gunakan striping disk untuk lebih banyak throughput. Misalnya, aplikasi yang membutuhkan 12.000 IOPS dan throughput 180-MB/dtk dapat menggunakan tiga disk P30 bergaris untuk memberikan throughput 15.000 IOPS dan 600-MB/dtk.
Untuk mengonfigurasi striping disk, lihat striping disk.
Pembatasan disk
Ada batas throughput pada tingkat disk dan VM. Batas maksimum IOPS per komputer virtual dan per disk berbeda dan independen satu sama lain.
Aplikasi yang mengonsumsi sumber daya di luar batas ini akan dibatasi (juga dikenal sebagai ditutup). Pilih VM dan ukuran disk dalam strip disk yang memenuhi persyaratan aplikasi dan tidak akan menghadapi batasan pembatasan. Untuk mengatasi penutupan, gunakan penembolokan, atau sesuaikan aplikasi sehingga diperlukan throughput yang lebih sedikit.
Misalnya, aplikasi yang membutuhkan 12.000 IOPS dan 180 MB/dtk dapat:
- Gunakan Standard_M32ms, yang memiliki throughput disk maksimum yang tidak di-cache sebesar 20.000 IOPS dan 500 MBps.
- Stripe tiga disk P30 untuk memberikan 15.000 IOPS dan throughput 600-MB/dtk.
- Gunakan VM Standard_M16ms dan gunakan penembolokan host untuk menggunakan cache lokal melalui penggunaan throughput.
VM yang dikonfigurasi untuk meningkatkan skala selama waktu pemanfaatan tinggi harus menyediakan penyimpanan dengan IOPS dan throughput yang cukup untuk mendukung ukuran VM maksimum sambil menjaga jumlah keseluruhan disk kurang dari atau sama dengan jumlah maksimum yang didukung oleh SKU VM terkecil yang ditargetkan untuk digunakan.
Untuk informasi selengkapnya tentang batasan penutupan disk dan menggunakan penembolokan untuk menghindari pembatasan, lihat Penutupan IO Disk.
Catatan
Beberapa penutupan disk mungkin masih menghasilkan performa yang memuaskan bagi pengguna; menyetel dan memelihara beban kerja daripada mengubah ukuran ke komputer virtual yang lebih besar untuk menyeimbangkan pengelolaan biaya dan performa untuk bisnis.
Akselerasi Tulis
Akselerasi Tulis adalah fitur disk yang hanya tersedia untuk VM Seri M. Tujuan Akselerasi Tulis adalah untuk memperbaiki latensi I/O penulisan terhadap Azure Premium Storage ketika Anda membutuhkan latensi I/O digit tunggal karena beban kerja OLTP misi penting volume tinggi atau lingkungan gudang data.
Gunakan Akselerasi Tulis untuk memperbaiki latensi tulis ke drive hosting file log. Jangan gunakan Akselerasi Tulis untuk file data SQL Server.
Disk Akselerator Tulis memiliki batas IOPS yang sama dengan VM. Disk terlampir tidak boleh melebihi batas IOPS Akselerator Tulis untuk VM.
Tabel berikut menguraikan jumlah disk data dan IOPS yang didukung per VM:
VM SKU | # Disk Akselerasi Tulis | Disk Akselerasi Tulis IOPS per komputer virtual |
---|---|---|
M416ms_v2, M416s_v2 | 16 | 20000 |
M128ms, M128s | 16 | 20000 |
M208ms_v2, M208s_v2 | 8 | 10000 |
M64ms, M64ls, M64s | 8 | 10000 |
M32ms, M32ls, M32ts, M32s | 4 | 5000 |
M16ms, M16s | 2 | 2500 |
M8ms, M8s | 1 | 1250 |
Ada beberapa batasan untuk menggunakan Akselerasi Tulis. Untuk mempelajari lebih lanjut, lihat Pembatasan saat menggunakan Akselerasi Tulis.
Bandingkan dengan disk ultra Azure
Perbedaan terbesar antara Akselerasi Tulis dan disk ultra Azure adalah bahwa Akselerasi Tulis adalah fitur VM yang hanya tersedia untuk disk ultra M-Series dan Azure adalah opsi penyimpanan. Akselerasi Tulis adalah cache yang dioptimalkan untuk penulisan dengan batasannya sendiri berdasarkan ukuran VM. Disk ultra Azure adalah opsi penyimpanan disk latensi rendah untuk Azure VM.
Jika memungkinkan, gunakan Akselerasi Tulis melalui disk ultra untuk disk log transaksi. Untuk VM yang tidak mendukung Akselerasi Tulis tetapi memerlukan latensi rendah ke log transaksi, gunakan disk ultra Azure.
Memantau performa penyimpanan
Untuk menilai kebutuhan penyimpanan, dan menentukan seberapa baik performa penyimpanan, Anda perlu memahami apa yang harus diukur, dan apa artinya indikator tersebut.
IOPS (Input/Output per detik) adalah jumlah permintaan yang dilakukan aplikasi untuk penyimpanan per detik. Ukur IOPS menggunakan penghitung Monitor Performa Disk Reads/sec
dan Disk Writes/sec
. Aplikasi OLTP (Pemrosesan transaksi online) perlu mendorong IOPS yang lebih tinggi untuk mencapai performa yang optimal. Aplikasi seperti sistem pemrosesan pembayaran, belanja online, dan sistem titik penjualan ritel adalah semua contoh aplikasi OLTP.
Throughput adalah volume data yang dikirim ke penyimpanan yang digunakan, sering diukur dengan megabyte per detik. Ukur throughput dengan penghitung Monitor Performa Disk Read Bytes/sec
dan Disk Write Bytes/sec
. Pergudangan data dioptimalkan untuk memaksimalkan throughput melalui IOPS. Aplikasi seperti penyimpanan data untuk analisis, pelaporan, aliran kerja ETL, dan target kecerdasan bisnis lainnya adalah semua contoh aplikasi pergudangan data.
Ukuran unit I/O memengaruhi kemampuan IOPS dan throughput karena ukuran I/O yang lebih kecil menghasilkan IOPS yang lebih tinggi dan ukuran I/O yang lebih besar menghasilkan throughput yang lebih tinggi. SQL Server memilih ukuran I/O yang optimal secara otomatis. Untuk informasi selengkapnya, lihat Mengoptimalkan IOPS, throughput, dan latensi untuk aplikasi Anda.
Ada metrik Azure Monitor tertentu yang sangat berharga untuk menemukan pembatasan di tingkat VM dan disk serta konsumsi dan kesehatan cache AzureBlob. Untuk mengidentifikasi penghitung utama untuk ditambahkan ke solusi pemantauan Anda dan dasbor portal Microsoft Azure, lihat Metrik pemanfaatan penyimpanan.
Catatan
Azure Monitor saat ini tidak menawarkan metrik tingkat disk untuk drive (D:\)
sementara sementara . Persentase IOPS yang Dikonsumsi Cache Komputer Virtual dan Persentase Bandwidth Yang Dikonsumsi Cache Komputer Virtual akan mencerminkan IOPS dan throughput dari drive sementara (D:\)
dan penembolokan host secara bersamaan.
Memantau pertumbuhan log transaksi
Karena log transaksi penuh dapat menyebabkan masalah performa dan pemadaman, penting untuk memantau ruang yang tersedia di log transaksi Anda, serta ruang disk drive yang digunakan yang menyimpan log transaksi Anda. Atasi masalah log transaksi sebelum berdampak pada beban kerja Anda.
Tinjau Memecahkan masalah log transaksi penuh jika log Anda menjadi penuh.
Jika Anda perlu memperluas disk, Anda dapat melakukannya di panel Penyimpanan sumber daya komputer virtual SQL jika Anda menyebarkan gambar SQL Server dari Marketplace Azure, atau di panel Disk untuk komputer virtual Azure Anda dan SQL Server yang diinstal sendiri.
Langkah berikutnya
Untuk mempelajari selengkapnya, lihat artikel lain dalam seri praktik terbaik ini:
Untuk praktik keamanan terbaik, lihat Pertimbangan keamanan untuk SQL Server di Azure Virtual Machines.
Untuk pengujian terperinci performa SQL Server di Microsoft Azure Virtual Machines dengan tolok ukur TPC-E TPC_C, lihat blog Optimalkan performa OLTP.
Tinjau artikel komputer virtual SQL Server lainnya di Ringkasan SQL Server di Azure Virtual Machines. Jika Anda mempunyai pertanyaan tentang komputer virtual SQL Server, lihat Tanya Jawab Umum.