Penghitung kinerja mana yang dapat Anda lihat pada SQL Server Instance untuk menentukan kinerjanya dan di atas semua kesehatan?

10

Saya seorang mahasiswa dari Fontys University di Eindhoven, dan saat ini saya sedang melakukan serangkaian wawancara untuk membantu pengembangan alat SQL Server dan saya ingin mendapatkan umpan balik dari para ahli di lapangan.

Salah satu pertanyaan saya adalah:

Penghitung kinerja mana yang dapat Anda lihat pada SQL Server Instance untuk menentukan kinerja dan kesehatannya secara keseluruhan?

Khususnya saya tertarik pada nilai ambang ketika kebaikan menjadi buruk.

Jamil Young Eindhoven Belanda

Jamil
sumber

Jawaban:

15

Inilah tutorial Perfmon saya untuk SQL Server: http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/

Untuk lebih banyak penghitung dan ambang batas, inilah poster yang kami lakukan ketika saya berada di Quest: http://www.quest.com/documents/landing.aspx?id=11635

Brent Ozar
sumber
itu adalah PDF yang luar biasa dari pencarian. Jelas penjaga. Mereka juga harus membuat satu untuk DMV.
StanleyJohns
Sebenarnya, kita berhasil! Mereka biasanya diberikan pada pertemuan kelompok pengguna dan di konferensi.
Brent Ozar
6

Ini adalah topik besar dengan banyak materi yang tersedia dengan tempat Googling. Sebagai titik awal, ini adalah penghitung yang cenderung saya lihat pada awalnya:

Prosesor -% Waktu Prosesor

Sistem - Panjang Antrian Prosesor

Anda mungkin akan mendapatkan nilai target yang berbeda untuk penggunaan CPU dari setiap DBA yang Anda minta. Lisensi SQL Server mahal, jadi di satu sisi Anda ingin memaksimalkan penggunaan CPU sementara di sisi lain Anda tidak ingin mengganggu ketersediaan. Di dunia yang ideal dengan beban kerja yang dipahami dengan baik, Anda dapat menargetkan penggunaan 70%, beri peringatan pada 80-90%, waspada pada 90% +. Kembali ke dunia nyata dengan beban kerja yang memuncak dan palung, Anda mungkin lebih nyaman menargetkan 50-60% rata-rata.

Memori - MBytes Tersedia

File Paging -% Penggunaan

Dengan SQL Server khusus, tergantung pada RAM yang diinstal, kurang dari 100-200mb memori yang tersedia dapat menunjukkan kelaparan dan risiko paging OS. Secara umum, kami tidak ingin melihat banyak aktivitas file halaman jadi saya akan menyelidiki apakah% Penggunaan lebih besar dari 2% dan khawatir jika mencapai 5%

Buffer Manager - Buffer cache hit ratio

Buffer Manager - Harapan hidup halaman

Kedua penghitung ini lebih baik dipertimbangkan terhadap garis dasar yang ditetapkan untuk server. Idealnya, kami ingin rasio hit cache sedekat mungkin ke 100% dan PLE berjalan hingga ribuan detik. Perhatikan saat mereka menjauh dari rata-rata bersejarah.

Statistik SQL - Permintaan Batch / dtk

Statistik SQL - Kompilasi / dtk

SQL Statistics - Recompilations / dtk

Permintaan / detik adalah ukuran relatif yang bagus untuk seberapa "sibuk" server. Nilai kompilasi / kompilasi tinggi dapat mengindikasikan siklus CPU terbuang sia-sia pada kompilasi permintaan.

Disk Fisik - Rata-rata. Disk dtk / Baca

Disk Fisik - Rata-rata. Disk dt / Tulis

Disk Fisik - Disk Baca / dtk

Disk Fisik - Disk Menulis / dtk

Pedoman kasar untuk sistem IO yang dikonfigurasi dengan benar adalah <5 ms (idealnya 1 ms) untuk drive log, <20 ms (idealnya <10 ms) untuk data. Baca / tulis per detik harus dipertimbangkan terhadap batas yang diketahui untuk drive (s) yaitu jika Anda memiliki kapasitas untuk 1000 IOPS, saya akan mengevaluasi opsi upgrade ketika rata-rata IOPS mencapai 750.

Mark Storey-Smith
sumber
Apakah ada sesuatu di tingkat itu untuk memonitor jalan buntu dan menunggu?
bernd_k
'Locks - Number deadlock / detik' untuk deadlock. Untuk menunggu, ada berbagai penghitung di kategori 'Tunggu statistik'.
Mark Storey-Smith