Peningkatan menunggu selama pos pemeriksaan setelah meningkatkan ke penyimpanan yang lebih baik

9

Ketika kami bermigrasi dari semua array flash yang lebih lama, ke semua array flash yang lebih baru (berbeda, tetapi vendor yang mapan), kami mulai melihat peningkatan menunggu dalam SQL Sentry selama pos-pos pemeriksaan.

Versi: SQL Server 2012 Sp4

Di penyimpanan lama kami, menunggu kami sekitar 2k dengan "paku" hingga 2500 selama pos pemeriksaan, dengan penyimpanan baru, paku biasanya 10k dengan puncak di dekat 50k. Sentry lebih mengarahkan kita ke PAGEIOLATCHwatis. Melakukan analisis kami sendiri, tampaknya merupakan kombinasi dari PAGEIOLATCH and PAGELATCHmenunggu. Menggunakan Perfmon, secara umum kita bisa mengatakan semakin banyak halaman yang kita periksa, semakin banyak menunggu yang kita dapatkan, tetapi kita hanya memerah ~ 125 mb selama pos pemeriksaan. Beban kerja kami sebagian besar adalah menulis (terutama menyisipkan / memperbarui).

Vendor penyimpanan telah membuktikan kepada kami bahwa larik terpasang langsung Fibre Channel merespons sub 1 ms selama acara pos pemeriksaan ini. HBA juga mengkonfirmasi nomor array. Kami juga tidak percaya bahwa ini adalah masalah antrian HBA karena kedalaman antrian tidak pernah di atas 8. Kami juga telah mencoba HBA yang lebih baru, mengubah ZIO, eksekusi throttle, dan pengaturan kedalaman antrian tidak berhasil. Kami juga telah meningkatkan memori server dari 500 GB menjadi 1 TB tanpa perubahan. Selama proses pemeriksaan kita melihat 2 - 4 core individu (dari 16) melonjak hingga 100%, tetapi keseluruhan CPU sekitar 20%. BIOS diatur ke kinerja tinggi juga. Menariknya, kita melihat CPU pada umumnya dalam kondisi tidur C2 meskipun kita telah menonaktifkannya, jadi kita masih meneliti mengapa kondisi tidur melewati C1.

Kita dapat melihat bahwa hampir semua menunggu ada di halaman data dengan tipe halaman DCM PFS sesekali. Tunggu dalam DBs pengguna, bukan tempdb. Kami juga melihat bahwa menunggu lebih dari beberapa halaman data, dengan beberapa SPID menunggu pada halaman yang sama. Desain database memang memiliki beberapa hot spot, tetapi desain yang sama ada di tempat dengan penyimpanan lama.

Menjalankan loop dari permintaan ini 100 kali, kami dapat menangkap berapa banyak SPID yang menunggu di disk vs memori

SELECT
    [owt].[wait_type], count(*) as waitcount
FROM sys.dm_os_waiting_tasks [owt]
WHERE [owt].[wait_type] LIKE 'PAGE%'
group by [owt].[wait_type]
order by 1
GO 100

masukkan deskripsi gambar di sini

Yang "menyenangkan" adalah kita dapat dengan mudah mereproduksi masalah di lingkungan perf kita yang memiliki larik model yang sama dan spesifikasi server yang serupa. Saya menghargai setiap pemikiran tentang tempat lain untuk mencari atau bagaimana mempersempit masalah. Saat ini pengujian kami berikutnya meliputi: server baru dengan motherboard yang lebih baru dan lebih banyak CPU; menonaktifkan SIOS datakeeper (meskipun ini sudah ada di tempat dengan penyimpanan lama); merek HBA berbeda.

exec sp_Blitz @outputtype = 'markdown'

Prioritas 5: Keandalan : - Modul Pihak Ketiga Berbahaya - Sophos Limited - Perlindungan Overrun Penyangga Sophos - SOPHOS ~ 2.DLL - modul pihak ketiga yang diduga berbahaya dipasang.

Prioritas 200: Informasi : - Node Cluster - Ini adalah simpul dalam sebuah cluster. - TraceFlag On - Trace flag 1117 diaktifkan secara global. - Bendera jejak 1118 diaktifkan secara global. - Bendera jejak 3226 diaktifkan secara global.

Prioritas 200: Perizinan : - Fitur Edisi Perusahaan Sedang Digunakan * xxxxx - Basis data [xxxxxx] menggunakan Kompresi. Jika database ini dipulihkan ke server Edisi Standar, pemulihan akan gagal pada versi sebelum 2016 SP1. * xxxxx - Database [xxxxxx] menggunakan Partitioning. Jika database ini dipulihkan ke server Edisi Standar, pemulihan akan gagal pada versi sebelum 2016 SP1.

Prioritas 240: Statistik Tunggu : - Tidak Menunggu Signifikan Terdeteksi - Server ini mungkin hanya duduk diam, atau seseorang mungkin telah menghapus statistik tunggu baru-baru ini.

Prioritas 250: Info Server: - Hardware - Prosesor logis: 16. Memori fisik: 512GB. - Perangkat Keras - NUMA Konfigurasi - Node: 0 Negara: ONLINE Penjadwal online: 8 Penjadwal offline: 0 Grup Prosesor: 0 Node memori: 0 Memori VAS Dilindungi GB: 1177 - Node: 1 Negara: ONLINE Penjadwal online: 8 Penjadwal offline: 0 Prosesor Grup: 0 Node memori: 1 Memori Cadangan Cadangan GB: 0 - Power Plan - Server Anda memiliki CPU 3,50GHz, dan berada dalam mode daya kinerja tinggi - Server Restart Terakhir - 4 Jul 2018 4:56 AM - SQL Server Restart Terakhir - 5 Jul 2018 5:11 AM - SQL Server Service - Versi: 11.0.7462.6. Level Patch: SP4. Edisi: Edisi Perusahaan (64-bit). Grup yang Tersedia Diaktifkan: 1. Ketersediaan Grup Manajer Status: 1 - Server Virtual - Tipe: (HYPERVISOR) - Versi Windows - Anda menjalankan versi Windows yang cukup modern: Server 2012R2 era, versi 6.3

Prioritas 200: Konfigurasi Server Non-Default: - Agent XPs - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 0 dan telah diatur ke 1. - cadangan kompresi standar - Opsi sp_configure ini telah diubah. Nilai defaultnya adalah 0 dan telah disetel ke 1. - ambang proses yang diblokir - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 0 dan telah diatur ke 20. - ambang biaya untuk paralelisme - Opsi sp_configure ini telah diubah. Nilai default-nya adalah 5 dan telah diatur ke 30. - Database Mail XPs - Opsi sp_configure ini telah diubah. Nilai default-nya adalah 0 dan telah diatur ke 1. - derajat paralelisme maksimal - Opsi sp_configure ini telah diubah. Nilai default-nya adalah 0 dan telah diatur ke 8. - memori server maks (MB) - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 2147483647 dan telah ditetapkan ke 496640. - memori server min (MB) - Opsi sp_configure ini telah diubah. Nilai defaultnya adalah 0 dan telah diatur ke 8196. - optimalkan untuk beban kerja ad hoc - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 0 dan telah diatur ke 1. - akses jarak jauh - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 1 dan telah diatur ke 0. - koneksi admin jarak jauh - Opsi sp_configure ini telah diubah. Nilai default-nya adalah 0 dan telah diatur ke 1. - pindai procs startup - Opsi sp_configure ini telah diubah. Nilai standarnya adalah 0 dan telah diatur ke 1. - tampilkan opsi lanjutan - Opsi sp_configure ini telah diubah. Nilai defaultnya adalah 0 dan telah disetel ke 1. - xp_cmdshell - Opsi sp_configure ini telah diubah.

Doley
sumber
lupa menyebutkan ... SQL 2012 SP4
Doley
Bisakah Anda menjalankan sp_Blitz dengan @OutputType = 'MARKDOWN'dan memposting hasilnya?
Kin Shah
Saya menambahkannya ke pos (yang menurut saya berguna).
Doley
Sudahkah Anda melakukan tugas berat I / O seperti membangun kembali indeks besar dan membandingkan waktu dengan SAN lama? Apakah ini jenis flash yang sama dengan SAN lama? Bagaimana dengan tata letak volume dan membaginya dengan aplikasi atau server lain?
Alen
1
Dan apakah Anda memiliki tingkat pemisahan yang sama antara database, log, dan tempdb pada array baru? Checkpoint membanting file database, tetapi bisa saja bertentangan dengan IO lain pada drive tersebut.
David Browne - Microsoft

Jawaban:

1

Hmm. Anda menunjukkan spid menunggu selama pos pemeriksaan, tetapi tidak berapa lama menunggu rata-rata / secara agregat (yang, jujur ​​saja, hanya itu yang saya pedulikan). Lakukan analisis statistik tunggu diferensial untuk melihat apakah durasi menjadi perhatian. Juga, apa yang sebenarnya menunggu di grafik Anda? Jika Anda mendapatkan banyak memori, tunggu dengan 1TB RAM dalam permainan, kita perlu diskusi yang berbeda. :-D

Kecepatan tulis 125MB selama pos pemeriksaan: apakah pos pemeriksaan HANYA menulis atau SEMUA? Either way tampaknya rendah untuk penyimpanan semua-flash. Apakah Anda benchmark mengatakan penyimpanan untuk berbagai pola tulis dan jika demikian, apa yang Anda dapatkan numnbers?

TheSQLGuru
sumber
0

Kami tidak yakin mengapa perilaku SQL Server kami berubah (dan kami memiliki bukti bahwa hal itu terjadi sebelum sakelar penyimpanan), tetapi mengaktifkan pos pemeriksaan tidak langsung untuk DB pengguna telah menyelesaikan masalah bagi kami.

Doley
sumber