Bisakah harapan hidup Halaman SQL Server terlalu tinggi?

8

Saya telah membaca beberapa artikel tentang Page Life Expectancy SQL Server dan apa artinya dan informasi apa yang bisa Anda dapatkan darinya. Dalam sebagian besar artikel yang saya baca, nilai PLE yang umum dan sehat adalah sekitar 1000-2000 detik. Saya pernah membaca bahwa turun ke sekitar 300 detik dapat berarti Anda cenderung kekurangan RAM.

Baru-baru ini saya baru saja memperbarui perangkat keras kami untuk memiliki 64GB RAM, naik dari 14GB. Pada 14GB PLE saya sekitar 300 detik, dan saya memiliki banyak memori 5-6 yang tertunda per detik. Jadi, itu buruk dan saya meningkatkan RAM. Sekarang, PLE saya jauh, jauh lebih tinggi sekitar 5000 detik, dan tidak ada lagi hibah memori yang tertunda. Saya sudah melihatnya 7000 detik, jika saya ingat. Ini jauh lebih tinggi dari apa pun yang saya baca.

Bisakah PLE tinggi menjadi hal yang buruk? Atau semakin tinggi semakin baik?

EDIT: Maaf, PLE saya tidak 7000 detik, itu 70.000 detik! Meskipun, saat ini turun menjadi sekitar 7000.

masukkan deskripsi gambar di sini

  • Ukuran basis data sekitar 160GB. Beberapa tabel memiliki 5+ juta baris.
  • max_server_memory diatur ke 2147483647.
Ryan
sumber
Saya hanya akan mengatakan tidak perlu khawatir tentang banyak hal. Ini sistem yang bahagia
Shanky

Jawaban:

15

Tidak , saya tidak dapat memikirkan situasi atau teori apa pun di kepala saya yang dapat menggambarkan efek samping negatif untuk PLE yang tinggi secara astronomis ( kecuali jika Anda menikmati suara dengungan piring-piring di hard disk drive? ).

Dengan memori yang semakin murah dan lebih murah, dan pembeli perangkat keras mendapatkan sedikit lebih murah hati, kotak memori yang lebih besar ini kita lihat cukup umum untuk memiliki PLE dalam kisaran ribuan hingga ribuan. Ini hanyalah satu indikasi bahwa mesin virtual Anda mungkin tidak berada di bawah tekanan memori. Ambillah apa adanya, dan hanya itu.

Page Life Expectancy hanya merupakan perkiraan yang dibuat oleh SQL Server tentang berapa lama waktu yang diperkirakan akan bertahan dalam buffer. Ini adalah cara SQL Server mengatakan ia berpikir itu akan "sementara" .

Hal lain yang perlu diperhatikan, ikuti saran Paul Randal dan jangan berkonsentrasi pada PLE yang dilaporkan oleh manajer buffer . Seperti semua rata-rata, manajer buffer dapat menyembunyikan PLE yang berbeda . Anda ingin melihat semua PLE node NUMA individu dengan penghitung Buffer Node :

Get-Counter -ListSet "*" | 
    Select-Object -ExpandProperty Counter | 
    Where-Object {$_ -like "*buffer node*page life expectancy*"} | 
    Get-Counter

Page Life Expectancy hanyalah satu warna dalam lukisan yang indah yaitu memori SQL Server. Lihatlah bersama dengan "warna" lainnya (memori server target / total, mbytes yang tersedia, dll.). Terlalu sering orang melihat satu metrik sederhana dan takut server mereka akan meledak, atau sebaliknya itu akan hidup selama berabad-abad tanpa dikelola.

Thomas Stringer
sumber
2
Tom mengalahkan saya untuk itu - selain itu saya ingin menambahkan bahwa itu tidak "berarti" berarti bahwa SQL Server berada di bawah tekanan memori - tetapi bahwa beban kerja tidak menggunakan buffer pool secara efektif dan mungkin ingin disetel atau berubah.
Sean Gallardy - Pensiunan Pengguna
Saya menemukan nilai-nilai yang secara astronomis tinggi dan kelihatannya salah: dba.stackexchange.com/questions/119405/…
Magier