Kinerja aplikasi dan sistem memainkan peran besar dalam cara pengguna memandang nilai produk Anda dan kompetensi perusahaan Anda. Jika halaman yang sama terus-menerus habis atau perlu waktu lama untuk mengakses laporan penting, kinerja sistem database Anda akan menimbulkan masalah kepercayaan bagi organisasi Anda.
Ketersediaan tinggi dan kinerja yang andal adalah kunci untuk membuat pelanggan dan pengguna sistem internal senang, dan mereka bahkan dapat memengaruhi laba Anda. Dengan mengingat tujuan ini, menerapkan strategi pemantauan kinerja SQL Server yang komprehensif adalah suatu keharusan.
Manfaat Pemantauan Kinerja SQL Server
Manfaat pemantauan kinerja yang paling sering disebut-sebut adalah kemudahan pemecahan masalah dan penyelesaian masalah. Alat pemantauan SQL Server yang dikonfigurasi dengan baik adalah cara paling efisien untuk menemukan dan memperbaiki masalah server dan database dengan cepat sebelum berdampak pada pengguna akhir atau menjadi masalah besar yang mahal.
Selain menjaga kesehatan sistem, menerapkan pemantauan kinerja SQL Server dapat membantu menekan biaya infrastruktur Anda. Salah satu contohnya adalah biaya penyimpanan yang tidak perlu. Ketika kinerja SQL Server dioptimalkan, pertumbuhan ukuran file dipantau terus menerus. Peningkatan ukuran file yang berlebihan memicu peringatan sehingga masalah dapat diselesaikan sebelum ruang disk habis dan sumber daya tambahan diberikan ke masalah.
Dan jika Anda memilih solusi pemantauan berbasis cloud, Anda dapat meningkatkan ROI lebih jauh dengan mengucapkan selamat tinggal pada biaya perumahan dan pemeliharaan server fisik.
Lacak Metrik Ini untuk Meningkatkan Kinerja SQL Server Anda
Kami tahu pemantauan kinerja SQL Server adalah strategi hebat untuk memperbaiki masalah dan menghemat uang, tetapi Anda tidak akan mendapatkan manfaat penuh dari alat pemantauan SQL Server Anda kecuali Anda melacak metrik yang tepat. Untuk mendapatkan kinerja yang optimal dari SQL Server, berikut adalah lima area yang ingin Anda perhatikan dan metrik terpenting untuk dilacak dari masing-masing area.
1. Tembolok Penyangga
Cache buffer menyimpan salinan halaman database yang baru saja digunakan. SQL Server mencari di cache terlebih dahulu, tetapi jika tidak menemukan apa yang dicari di sana, ia pergi ke disk. Membaca dari disk lambat, yang dapat memengaruhi kinerja secara negatif.
Rasio Hit Cache
Rasio hit cache menunjukkan seberapa sering SQL Server mengakses halaman dari cache. Nilai yang lebih tinggi menunjukkan bahwa halaman diakses dari memori dan bukan dari disk. Jika Anda secara konsisten melihat rasio hit cache yang rendah, periksa kemacetan di memori sistem.
Harapan Hidup Halaman
Harapan hidup halaman pemantauan menunjukkan berapa lama halaman tetap berada di memori alih-alih pergi ke disk. Semakin lama harapan hidup halaman, semakin baik rasio cache hit.
Halaman Pos Pemeriksaan/Detik
SQL Server menyiapkan pos pemeriksaan untuk mengosongkan ruang di cache buffer dengan secara berkala membilas halaman yang dimodifikasi dari buffer ke disk. Jumlah halaman yang di-flush tergantung pada pengaturan konfigurasi dan penggunaan server, jadi penting untuk menetapkan garis dasar untuk perbandingan. Jika Anda melihat peningkatan halaman yang di-flush, Anda mungkin mengalami masalah I/O.
2. Indeks
Indeks basis data membantu mempercepat operasi dalam tabel dengan banyak catatan. Meskipun indeks adalah alat yang berguna untuk meningkatkan beberapa fungsi basis data, ada masalah yang melekat pada indeks yang dapat menurunkan kinerja jika tidak segera diketahui.
Fragmentasi
Fragmentasi indeks terjadi ketika catatan ditambahkan dan dihapus. Seiring waktu, perubahan ini menyebabkan masalah kinerja dengan meninggalkan terlalu banyak ruang kosong pada terlalu banyak halaman dan menambahkan halaman baru yang rusak. Ini dapat memperlambat pemindaian dan menggunakan memori yang berlebihan.
Memantau fragmentasi indeks akan memberi tahu Anda saat Anda perlu menjalankan Rebuild atau Reorganize pada indeks untuk memperbaiki fragmentasi dan meningkatkan kinerja.
Faktor Isi dan Pemisahan Halaman
Pengaturan faktor pengisian memungkinkan indeks Anda mengetahui seberapa penuh setiap halaman seharusnya. Jika halaman terlalu penuh, terjadi pemisahan halaman; jika halaman tidak cukup penuh, Anda membuang-buang sumber daya.
Pelacakan pemisahan halaman dapat membantu mengidentifikasi kapan penyesuaian faktor pengisian diperlukan. Untuk kinerja terbaik, jangan tetapkan nilai faktor pengisian seluruh sistem. Evaluasi indeks individu dan atur faktor pengisian pada tingkat yang sesuai untuk masing-masing indeks.
3. T-SQL
Untuk mengoptimalkan kinerja, SQL Server mengelompokkan pernyataan SQL, lalu mengompilasinya ke dalam rencana eksekusi dan menyimpannya dalam cache untuk digunakan kembali. Jika SQL Server tidak dapat menggunakan kembali rencana eksekusi, rencana tersebut dikompilasi ulang, yang menggunakan banyak CPU dan menurunkan kinerja. Oleh karena itu, yang terbaik adalah menjaga jumlah kompilasi ulang pernyataan SQL serendah mungkin.
Tingkat pemantauan kompilasi dan kompilasi ulang SQL akan menunjukkan apakah Anda perlu mengkonfigurasi ulang beberapa area, seperti prosedur tersimpan dan parameter kueri.
4. Memblokir
Pemblokiran SQL Server disebabkan oleh beberapa klien dan proses yang meminta akses ke sumber daya yang sama secara bersamaan. Jika sumber daya sudah digunakan, akses dikunci dan sumber daya tidak tersedia untuk permintaan berikutnya. Ini menunda proses hingga sumber daya dilepaskan dan tersedia lagi.
Kunci Menunggu
Permintaan biasanya tidak harus menunggu terkunci, jadi metrik ini harus tetap sekitar nol. Peningkatan waktu tunggu penguncian menunjukkan masalah dengan waktu muat, jadi Anda perlu melacak akar penyebab masalah.
Proses yang Diblokir
Melacak proses yang diblokir adalah cara yang baik untuk menghindari banyak email yang memberi tahu Anda tentang proses yang diblokir. Gunakan SQL Server Profiler untuk mengambil data tentang proses yang diblokir dan meninjau laporan secara teratur.
5. Penggunaan Sumber Daya
Melacak metrik penggunaan sumber daya adalah cara yang efektif tidak hanya untuk menunjukkan dengan tepat masalah kinerja tetapi juga untuk membantu perencanaan kapasitas.
Jumlah Baris
Memantau jumlah baris memberikan wawasan langsung yang mudah dilacak ke dalam volume data yang terkait dengan tabel tertentu dari waktu ke waktu. Peningkatan atau penurunan tak terduga dalam jumlah baris harus mendorong penyelidikan penyebabnya.
I/O Berkas Basis Data
Dengan mengukur metrik I/O terhadap file database, Anda dapat melacak berapa banyak data yang sedang ditulis dan dibaca oleh file data tertentu. Jika Anda mengamati potensi masalah, metrik ini dapat membantu mempersempit akar masalahnya. Melacak I/O file database juga membantu perencanaan infrastruktur karena dapat membantu Anda memprediksi throughput data di masa mendatang dan menyesuaikan sumber daya yang sesuai.
Ukuran Cadangan Log Transaksi
Ketika server lumpuh karena kelebihan beban, SQL Server menggunakan catatan log database yang disimpan dalam file log virtual (VLFs) untuk memulihkan. Penting untuk memantau berapa banyak VLF dalam log transaksi, karena terlalu banyak dapat memperlambat proses pemulihan saat memulihkan setelah pemadaman.
Pemantauan kinerja SQL Server adalah komponen penting dari strategi kontrol kualitas organisasi. Melacak beberapa metrik kinerja utama dapat memberi Anda reputasi untuk menyediakan sistem yang dapat dipercaya dan diandalkan pengguna Anda; gagal melakukannya dapat membuat sistem Anda menjadi ketakutan bagi pengguna aplikasi kereta lainnya.