Masalah kinerja basis data tidak jarang terjadi. Untungnya, biasanya ada solusi yang cukup intuitif untuk sebagian besar masalah. Hal terpenting yang dapat dilakukan DBA untuk memperbaiki masalah dengan cepat dan meningkatkan kinerja SQL Server adalah memastikan strategi pemantauan kinerja Anda mutakhir dan selaras dengan kebutuhan pemantauan basis data Anda. Jika tidak, saatnya untuk mengambil tindakan.
Langkah pertama untuk meningkatkan pemantauan database Anda adalah menilai situasi Anda saat ini. Anda tidak akan tahu di mana kekurangan pemantauan Anda atau apakah pemantauan meningkatkan masalah kinerja Anda jika Anda tidak melakukan pengukuran dasar dari titik awal Anda.
Untuk menetapkan baseline kinerja, Anda perlu menilai kesehatan database SQL Server dengan mengajukan beberapa pertanyaan kepada diri sendiri:
Apakah kueri dioptimalkan? Kueri berkinerja buruk adalah cara pasti untuk memperlambat kinerja. Ada banyak trik yang dapat Anda coba untuk membersihkan kueri, tetapi opsi terbaik Anda adalah menerapkan pengoptimal kueri yang akan menganalisis dan menulis ulang kueri hingga menemukan yang lebih cepat.
Apakah indeks dalam kondisi baik? Pengindeksan yang dilakukan dengan benar seharusnya mempercepat pengambilan data. Namun, ada beberapa masalah umum yang dapat memperlambat kinerja, termasuk pengaturan faktor pengisian yang tidak efisien dan pemisahan halaman. Cara terbaik untuk menghindari masalah kinerja ini adalah dengan tidak menetapkan nilai faktor pengisian di seluruh sistem dan melihat kebutuhan setiap indeks satu per satu.
Apakah banyak data yang terfragmentasi? Data yang terfragmentasi mempengaruhi kinerja dengan menempatkan terlalu banyak ruang kosong pada halaman atau dengan menyebabkan halaman ditambahkan. Server harus memindai dan mencari data yang terfragmentasi, yang menyebabkan database berjalan lambat. Menjalankan Rebuild atau Reorganize dapat membersihkan fragmentasi.
Apakah sesuatu memakan CPU? Basis data melambat ketika CPU berada di bawah tekanan dari berbagai sumber daya. Nilai beban CPU dan putuskan apakah masalahnya adalah Anda perlu menambahkan lebih banyak CPU atau ada sumber daya yang tidak efisien yang menggunakan lebih banyak CPU daripada yang seharusnya.
Setelah Anda memiliki gambaran garis awal, Anda akan memiliki gagasan yang lebih baik tentang jenis peningkatan pemantauan yang perlu Anda fokuskan. Berikut adalah lima cara Anda dapat meningkatkan pemantauan database SQL Server Anda.
1. Nilai interval pemantauan Anda dan bersihkan data sesering mungkin
Alat pemantauan kinerja memberikan pilihan tanpa batas untuk metrik apa yang harus dipantau, kapan harus menarik data, dan berapa lama untuk menyimpan data. Jika Anda memantau banyak instance, jumlah data yang Anda kumpulkan berpotensi mengejutkan (dan mahal untuk disimpan).
Untuk menjaga data Anda ke tingkat yang dapat dikelola, jangan mengumpulkan data lebih sering dari yang seharusnya dan hanya menyimpan data cukup lama untuk melihat tren. Setelah Anda merekam sesuatu yang menarik, arsipkan atau hapus data tersebut.
2. Periksa apakah kueri Anda berkinerja efisien
Ada banyak tempat untuk menyembunyikan masalah kinerja di SQL Server. Karena aplikasi database sering mengeksekusi kueri SQL, menilai status kueri Anda adalah tempat yang tepat untuk mulai menghilangkan masalah.
Misalnya, memantau kinerja kueri dari waktu ke waktu akan membantu Anda mengisolasi semua yang menggunakan lebih banyak sumber daya daripada biasanya. Setelah Anda mengidentifikasi kueri bermasalah, Anda dapat menjalankan setiap kueri untuk menentukan sumber spesifik masalah dan memperbaikinya.
3. Tinjau penghitung dan pengaturan Perfmon
SQL Server Performance Monitor (Perfmon) adalah alat berharga yang membantu DBA mengisolasi titik lemah dalam database SQL Server mereka. Perfmon memungkinkan Anda untuk mengatur penghitung kinerja untuk setiap server Anda untuk mengidentifikasi kemacetan CPU, kinerja disk, masalah memori, dan banyak lagi.
Artikel oleh Brent Ozar ini menjelaskan cara mulai menggunakan Perfmon dan menjelaskan beberapa praktik terbaik.
4. Konfigurasikan lansiran Anda berdasarkan tingkat keparahan
Meskipun ada banyak konfigurasi peringatan yang tersedia, yang terbaik adalah selektif saat mengonfigurasi peringatan sehingga Anda tidak menyerah pada kelelahan peringatan. Aturan praktis yang baik adalah menyiapkan peringatan untuk masalah Tingkat Keparahan 17 atau lebih tinggi dan untuk pesan kesalahan 823, 824, dan 825—dengan kata lain, masalah tersebut dapat mengakibatkan server Anda offline, kerusakan data parah, atau kehilangan data.
5. Manfaatkan semua fitur manajemen alarm yang ditawarkan alat pemantauan kinerja SQL Server Anda
Solusi pemantauan SQL Server menawarkan berbagai fitur manajemen. Luangkan waktu untuk mengenal fitur alat Anda dan pastikan Anda mendapatkan nilai terbaik untuk investasi Anda.
Beberapa fitur yang harus dicari yang akan membantu Anda meningkatkan proses pemantauan kinerja adalah:
Aturan: Memungkinkan Anda menyesuaikan alarm mana yang dipicu dan kapan
Diagnostik: Memberi tahu Anda bahwa ada masalah, lalu menawarkan kemungkinan perbaikan
Prioritas masalah: Fokuskan perhatian Anda pada masalah dengan tingkat keparahan tertinggi terlebih dahulu
Lansiran seluler: Memungkinkan Anda mengakses, menilai, dan mulai mengatur alarm dari mana saja dan kapan saja
Pengurangan kebisingan: Membantu Anda menghindari kelelahan alarm dengan hanya menerima notifikasi yang Anda butuhkan