Administrator basis data memiliki banyak tanggung jawab di belakang layar—mulai dari perencanaan kapasitas hingga keamanan hingga pemulihan data. Mungkin tanggung jawab DBA yang paling terlihat adalah pemantauan kinerja SQL Server. Meskipun tugas sehari-hari yang terkait dengan pemeliharaan sistem berkinerja tinggi mungkin tidak diperhatikan oleh dunia luar, Anda sebaiknya percaya bahwa orang akan mulai memperhatikan ketika kinerjanya kurang dari ideal.
Pemadaman basis data, waktu respons yang lambat, dan masalah lain yang dihadapi pengguna berdampak buruk bagi bisnis. Dan, karena kinerja SQL Server (atau kekurangannya) berada tepat di domain DBA, database yang berkinerja buruk buruk bagi keamanan pekerjaan Anda.
Selain ancaman pengangguran, memastikan kinerja puncak SQL Server sangat penting bagi kemampuan organisasi Anda untuk berjalan dengan lancar, jadi kami telah mengumpulkan lima trik yang perlu diketahui DBA untuk mengoptimalkan kinerja SQL Server.
Otomatiskan Tugas dan Pemeliharaan Rutin
Saat ini, ada sedikit alasan bagi DBA untuk melakukan banyak tugas sehari-hari dan pemeriksaan pemeliharaan secara manual. Alat pemantauan kinerja SQL Server hari ini dapat secara otomatis memantau ruang disk, memeriksa log kesalahan, dan memverifikasi cadangan. Anda bahkan dapat mengatur peringatan sistem yang tidak hanya memberi tahu Anda bahwa ada masalah, tetapi juga memberikan informasi tentang tingkat keparahan dan jenis masalah.
Salah satu manfaat utama alat pemantauan ini adalah banyak fitur pemantauan kinerja dapat diakses melalui perangkat seluler Anda, membuat pemecahan masalah jauh lebih fleksibel. Anda dapat memantau dan mengatur sistem Anda dari mana saja dan kapan saja.
Melacak Metrik Kinerja
Tentu saja penting untuk alat pemantauan kinerja SQL Server Anda untuk menangkap dan memperbaiki masalah saat ini, tetapi ada juga banyak nilai dalam melacak kinerja masa lalu. Memantau dan menganalisis kinerja basis data dari waktu ke waktu membantu Anda mengidentifikasi tren dan mengantisipasi masalah kinerja di masa mendatang. Pelacakan riwayat kinerja memberikan data tentang apakah kinerja lebih baik atau lebih buruk selama periode waktu tertentu.
Analisis beban kerja adalah cara lain untuk mendapatkan metrik kinerja yang membantu Anda meningkatkan kinerja SQL Server. Jalankan analisis untuk mengidentifikasi bagaimana pengguna, database, host, atau pernyataan SQL memengaruhi beban kerja Anda. Jika Anda mengisolasi sumber yang berdampak negatif pada sistem, akan lebih mudah untuk mengambil langkah yang tepat untuk memperbaiki masalah.
Identifikasi Akar Penyebab Kemacetan
Seperti yang dinyatakan di atas, setelah Anda mengisolasi sumber kemacetan atau pembunuh kinerja, akan jauh lebih mudah untuk memperbaiki masalah tersebut. Beberapa sumber umum kemacetan dan gejala yang harus diwaspadai meliputi:
- Masalah CPU:SQL Server memonopoli prosesor
- Masalah memori:Waktu eksekusi lebih lama pada kueri
- Masalah penyimpanan:Aktivitas ekstrem pada disk dan waktu tunggu yang lama per I/O
- Masalah I/O:Waktu tunggu WRITELOG tinggi dibandingkan dengan total waktu tunggu
Setelah Anda mengidentifikasi hambatan Anda, ada beberapa perbaikan yang dapat Anda coba yang sering mengatasi masalah kinerja umum, termasuk:
- Penyetelan SQL Server:Mengisolasi kueri spesifik yang tertunda, waktu tunggu spesifik yang menyebabkan penundaan, dan dampak waktu dari kemacetan
- Singkirkan indeks usang dan duplikat:Mempercepat kueri karena pengoptimal tidak perlu mempertimbangkan beberapa indeks saat menganalisis kinerja kueri dan menentukan rencana.
- Perbaiki fragmentasi:Secara berkala membangun kembali atau mendefrag indeks Anda akan meningkatkan kinerja dengan mengurangi jumlah halaman data yang tersebar atau terisi sebagian yang harus dibaca SQL Server.
Jalankan Pemeriksaan Kesehatan Kinerja Rutin
Mencegah hampir selalu lebih baik daripada mengobati. Gunakan pemeriksaan kesehatan untuk mengidentifikasi masalah aktual dan potensial dalam sistem. Health check akan membantu Anda menemukan masalah dengan keamanan, pemulihan bencana, memori, I/O, dan konfigurasi sebelum menyebabkan masalah performa yang besar.
Pemeriksaan kesehatan rutin harus mencakup:
- Memeriksa indeks yang hilang:Indeks yang hilang membuat SQL Server lambat merespons karena harus mencari setiap record untuk data. Tapi jangan terlalu cepat untuk hanya menambahkan indeks yang hilang; menambahkan indeks yang tidak perlu juga dapat memengaruhi kinerja secara negatif.
- Mewaspadai tingkat kueri ad hoc yang tidak proporsional:Menggunakan kueri ad hoc sesekali tidak masalah. Tetapi ketika mereka digunakan terlalu sering, kinerjanya menurun. SQL Server tidak menggunakan kembali pernyataan ini, sehingga cache prosedur membengkak, menyebabkan cache buffer menghapus data. SQL Server kemudian harus membaca data dari disk (lambat) bukan dari memori.
- Mencari statistik kedaluwarsa:Pengoptimal kueri SQL Server menggunakan statistik untuk menghitung perkiraan biaya operasi. Statistik yang kedaluwarsa dapat menyebabkan pengoptimal kueri memilih rencana eksekusi yang kurang optimal.
Tingkatkan ke Versi SQL Server Terbaru
Yang ini terasa agak jelas, tetapi jika Anda belum melakukannya, tingkatkan ke versi terbaru SQL Server. SQL Server 2000, 2005, dan 2008 tidak lagi dalam pengembangan aktif, dan versi yang lebih baru memiliki banyak fitur yang pasti akan meningkatkan kinerja. Fitur-fitur ini termasuk versi terbaru dari pengoptimal kueri SQL Server, set instruksi CPU baru, dan, tentu saja, perbaikan bug.