อายุการใช้งานหน้า SQL Server 2012 รีเซ็ตเป็น 0 หลังจากนั้นประมาณ 50 วัน


12

ฉันสังเกตเห็นพฤติกรรมแปลก ๆ ในคลัสเตอร์ HA แบบ 2 เซิร์ฟเวอร์และฉันหวังว่าจะมีคนยืนยันความสงสัยของฉันหรืออาจมีคำอธิบายอื่น ๆ ... นี่คือการตั้งค่าของฉัน:

  • การติดตั้ง SQL 2012 SP1 แบบ 2 เซิร์ฟเวอร์
  • SQL AlwaysOn HA เปิดใช้งานสำหรับฐานข้อมูลไม่กี่แห่ง
  • ซีพียูคือ 2.4GHz, 4 คอร์
  • RAM คือ 34 GB (เป็นอินสแตนซ์ AWS ดังนั้นจึงเป็นเลขคี่)
  • การใช้ทรัพยากรค่อนข้างต่ำ - เซิร์ฟเวอร์แต่ละเครื่องมีหน่วยความจำไม่เกิน 14+ GB และ SQL ไม่ได้ต่อยอดกับจำนวนหน่วยความจำที่ใช้
  • เวลาในการเข้าถึงดิสก์นั้นดี - ไม่ค่อยเกิน 15ms / อ่านหรือเขียน
  • ฐานข้อมูลไม่ใหญ่ - 1 GB, 1.5 GB, 7.5 GB
  • กระบวนการเซิร์ฟเวอร์ SQL ใช้ไบต์ส่วนตัว 16 GB, ชุดการทำงาน 15 GB

โดยรวมแล้วไม่มีการบันทึกปัญหาทรัพยากร ตอนนี้สำหรับส่วนที่แปลก SQL ไม่ได้ถูกรีสตาร์ท (กระบวนการทำงานเกือบ 6 เดือน) แต่ดูเหมือนว่าทุกๆ ~ 50 วันตัวนับอายุการใช้งาน Page Life Expectancy จะลดลงไปที่ (เกือบ) 0 จนถึงจุดนั้นมันปีนขึ้นอย่างต่อเนื่องไม่มีหยด นี่คือกราฟที่สมบูรณ์แบบ:

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อฉันดูข้อมูลตัวนับ (ฉันไม่มีจำนวนที่แน่นอนเพียงแค่การรวมรายชั่วโมง) ดูเหมือนว่าค่าตัวนับ PLE สูงถึงประมาณ 4,295,000 วินาที (ประมาณ 50 วัน) ทุกครั้ง (อย่างน้อยทุกครั้งที่ฉันมีข้อมูล)

ทฤษฎีบ้าของฉันคือหมายเลข PLE ถูกจัดเป็นมิลลิวินาทีเหมือน int long long ที่ไม่ได้ลงชื่อ (ซึ่งมีขีด จำกัด 4,294,967,295) และเวลา 49.71 วันจะรีเซ็ตทั้งโดยการออกแบบหรือเนื่องจากข้อบกพร่อง สิ่งนี้จะอธิบายพฤติกรรมของเซิร์ฟเวอร์ทั้งสองและรูปแบบที่เหมือนกัน หรืออาจเป็นสิ่งที่แตกต่างอย่างสิ้นเชิงและฉันก็ไม่ได้รู้สึกอะไร :)

มีใครเห็นอะไรแบบนั้นหรืออธิบายพฤติกรรมนี้ได้บ้าง

ป.ล. ฉันเห็นโพสต์นี้แต่กรณีของฉันแตกต่างกันเล็กน้อย

PPS นี่คือการโพสต์ใหม่ - ฉันโพสต์ไว้ที่นี่แต่เดิมได้รับคำแนะนำว่าผู้ชมที่นี่เหมาะสมกว่า

ขอบคุณ!


ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
พอลไวท์ 9

คำตอบ:


3

ฉันเคยเห็นพฤติกรรมนี้บนเว็บไซต์ลูกค้าที่ใช้ SQL2012 SP1 ข้อมูลเฉพาะที่นี่คือ NUMA และ PLE แสดงรูปแบบ 'ฟันเลื่อย' แต่ในรอบหนึ่งชั่วโมง

คู่ของเธรดบน SQLServerCentral อธิบายเกี่ยวกับสิ่งนี้:

http://www.sqlservercentral.com/Forums/Topic1415833-2799-1.aspx http://www.sqlservercentral.com/Forums/Topic1424826-2799-1.aspx

ผลลัพธ์ที่ได้คือการใช้SP1 CU4ดูเหมือนจะแก้ไขปัญหาได้

CU4 ประกอบด้วยการแก้ไขที่ดูไร้เดียงสาการปรับปรุงพร้อมใช้งานสำหรับ SQL Server 2012 Memory Management KB2845380

คุ้มค่าที่จะลอง?


ขอขอบคุณที่โพสต์สิ่งนี้ (ขออภัยสำหรับการตอบกลับล่าช้าด้วยเหตุผลบางอย่างที่ฉันไม่เคยได้รับการแจ้งเตือนจากโพสต์ของคุณ) ฉันลองดูที่ลิงค์ - มันดูคล้ายกันดังนั้นฉันจะลองติดตั้งซ้ำใน QA ใช้ CU4 (หรืออาจจะตรงไปที่ SP2) จากนั้นตรวจสอบอีกครั้ง ด้วยจังหวะที่ฉันเห็นสิ่งนี้ (ทุกๆ 50 วัน) มันจะใช้เวลาสักครู่ก่อนที่ฉันจะยืนยันได้ แต่ฉันจะโพสต์กลับเมื่อฉันมีผลลัพธ์ BTW รูปแบบของฉันยังคงอยู่ - ปีนอย่างมั่นคงเป็นเวลา ~ 50 วันจากนั้นลดลงเหลือ ~ 0 และปีนขึ้นอีกครั้ง - ทั้งหมด 4 ครั้งนับตั้งแต่เริ่มให้บริการในเดือนธันวาคม
CRCerr0r

อัปเดต ... ฉันยืนยันสิ่งนี้ในสภาพแวดล้อม QA ของเรา สถิติที่ฉันได้รับคือ: จำนวนวันรวมระหว่างการรีเซ็ต - 49.71 (+/- 1 นาที); ถึงค่าสูงสุดของ PLE แล้ว - 4,294,961 (ที่ตัวอย่าง 1 นาทีดังนั้นอาจสูงขึ้นเล็กน้อย) นั่นค่อนข้างยืนยันการสังเกตการผลิต ฉันจะใช้ CU4 และรายงานกลับใน ~ 50 วัน ... :)
CRCerr0r

1
มีข่าวเกี่ยวกับเรื่องนี้ไหม?
Michael Green
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.