Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Memecahkan Masalah Kemacetan I/O Disk

Apakah server Anda mengalami jumlah peringatan I/O yang berlebihan? Jika demikian, apakah Anda harus khawatir dengan penurunan kinerja server? Bagaimana cara terbaik mendiagnosis masalah mendasar dan menghancurkan kemacetan I/O?

I/O Stall Time Alarm dari Spotlight Cloud adalah indikator yang baik dari kemacetan I/O. Itu akan dinaikkan ketika waktu tunggu rata-rata per operasi file database melebihi ambang alarm. Alarm menggunakan data dari sys.dm_io_virtual_file_stats DMV untuk perhitungannya. Ini menggunakan nilai rata-rata yang diperoleh setelah lima koleksi selama 15 menit terakhir sehingga Anda tidak akan diberi tahu tentang lonjakan sesekali. Deskripsi alarm mencakup nama file virtual database, nama database, dan jumlah rata-rata waktu tunggu per operasi I/O.

Empat saran mudah untuk mendiagnosis masalah terkait I/O di Spotlight Cloud:

1. Periksa apa yang berkontribusi terhadap konsumsi I/O.

Konsumsi I/O adalah tanda latensi subsistem disk yang dapat disebabkan oleh memori atau tekanan CPU, kueri yang ditulis dengan buruk, atau tidak memiliki campuran indeks yang baik. Pada saat alarm berbunyi:

Pertama, manfaatkan panel sisi kanan Properties dari halaman Alarms untuk melihat data terkait Smart Alarms:
1. Detail alarm termasuk nama file, rata-rata waktu tunggu I/O pada file, dan durasi alarm

2. Analisis data yang dikumpulkan dalam grafik pada grafik tren selama beberapa jam terakhir



Selanjutnya, diagnosa masalah dengan menekan tombol Diagnose. Itu akan membawa Anda ke dasbor I/O by File yang berfokus pada file yang ditekan. Anda dapat menggunakan ini dan dasbor lainnya untuk mendiagnosis lebih lanjut:

1. I/O by File – Identifikasi file yang terpengaruh langsung oleh I/O
2. Workload Analyzer - Pernyataan SQL teratas dan kumpulan TSQL yang paling banyak menggunakan I/O
3. Sesi – Sesi pada titik waktu dengan aktivitas disk
4. Pemeriksaan Kesehatan - Tinjau jika ada indeks yang hilang


2. Periksa file yang sedang menunggu operasi I/O.

Dasbor I/O oleh File mengidentifikasi file yang menunggu pada operasi I/O. Perhatikan statistik I/O berikut:
1. Catat kolom terkait I/O:Tarif I/O, Tarif Baca/Tulis, dan Tarif Tunggu

2. Urutkan file berdasarkan rata-rata menunggu per /IO dengan menekan daftar drop-down biru tepat di atas kolom file Logical.

3. Lihat aktivitas Baca dan Tulis dalam satu jam terakhir yang dihasilkan pada file yang ditampilkan pada panel di sebelah kanan.

4. Secara opsional, perluas jangka waktu untuk memeriksa apakah ini merupakan perilaku normal pada file.

5. Jika Anda melihat sejumlah file dari waktu ke waktu mengalami masalah yang sama dan berbagi lokasi atau disk, pertimbangkan untuk menyesuaikan lokasinya dan membandingkan pertentangan IO antara disk atau lokasi untuk meringankan masalah latensi disk.


6. Jika file database Tempdb merupakan faktor yang menonjol, gunakan dasbor Penggunaan TempDB untuk melihat aktivitas terhadap database:

sebuah. File database Tempdb dan statistiknya
b. Sesi menggunakan tempdb
c. Tabel dan indeks teratas dibuat di tempdb



3. Temukan pernyataan SQL yang mungkin melakukan sejumlah besar I/O logis.

Dasbor Penganalisis Beban Kerja menunjukkan I/O teratas yang menggunakan SQL:

1. Klik sumber daya I/O di spanduk atas dan luaskan simpul Pernyataan SQL dari pohon dimensi untuk melihat 25 SQL teratas yang menggunakan I/O selama periode waktu tersebut.

2. Fokus pada satu pernyataan dan perluas panel Properti Pernyataan SQL di sisi kanan untuk melihat detail rencana SQL dan kueri.

3. Muat pernyataan SQL di SSMS dengan menggunakan opsi 'Buka di SSMS' dan gunakan alat plugin Tuning Pack untuk menganalisis rencana atau membuatnya menulis ulang pernyataan yang lebih optimal.


4. Fokus pada simpul 'Pernyataan SQL' dari pohon Dimensi untuk membuat daftar pernyataan SQL. Urutkan sesi berdasarkan IO Wait atau Logical Reads. Gunakan panel Bandingkan dengan Induk di sebelah kanan untuk membandingkan penantian IO dari satu SQL dengan SQL lainnya dalam contoh yang menggunakan IO. I/O logis dapat mengakibatkan I/O fisik yang tidak perlu.


4. Periksa sesi SQL Server mana yang menghasilkan aktivitas disk dalam jumlah besar.

Dasbor Sesi menunjukkan sesi yang dibuka di instans. Untuk melihat sesi yang menghasilkan aktivitas disk dalam jumlah tinggi, periksa statistik terkait I/O dan urutkan menurut mereka.
1. Statistik terkait I/O mengarahkan Anda ke arah yang benar:Total I/O, Logical Reads, Physical Reads, dan Request I/O

2. Panel sisi kanan tab Sesi menunjukkan statistik tambahan bersama dengan SQL yang mendasarinya



Gunakan panel Tempdb untuk melihat sesi menggunakan database Tempdb:
1. Gunakan dasbor Tempdb untuk mengidentifikasi sesi dan objek yang menggunakan database

2. Gunakan dasbor Penggunaan Tempdb untuk melihat semua sesi selama satu periode


Kendalikan latensi I/O dengan memanfaatkan kemampuan diagnostik Spotlight Cloud!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bisakah kita meneruskan parameter ke tampilan di SQL?

  2. Apa itu DATALENGTH() di SQL Server?

  3. Cara Menginstal SQLOPS di Mac

  4. Menyebarkan Grup Ketersediaan SQL Server AlwaysOn di Linux

  5. Sisipkan bidang lebar tetap secara massal