เมื่อเร็ว ๆ นี้เราประสบปัญหากับฐานข้อมูล oracle ของเราล็อค 1 แบบสอบถามที่เรารู้จนถึงตอนนี้
ฉันจะให้รายละเอียดของสิ่งที่เกิดขึ้นจริง ๆ แล้วไม่มีอะไรเกี่ยวข้องกับคำถามของฉันมากนัก แต่ฉันก็เปิดรับข้อเสนอแนะ
ผู้ใช้ไม่ได้บอกว่าจะเกิดขึ้นเป็นระยะ ๆ เกิดขึ้น 4 ครั้งในเดือนที่ผ่านมาผู้ใช้จะคลิกที่บางสิ่งในแอปพลิเคชัน สิ่งที่ผู้ใช้คลิกยังไม่เป็นที่รู้จัก เมื่อใดก็ตามที่คลิกมันจะเรียกใช้แบบสอบถามในฐานข้อมูลซึ่งจะสร้างแถวประมาณ 700k
ฉันได้ตรวจสอบตารางที่แบบสอบถามกำลังถูกเรียกใช้และดัชนีดูดี
ฐานข้อมูลคือ 60GB มี 32GB บนเซิร์ฟเวอร์
จากบันทึกในเซิร์ฟเวอร์ฐานข้อมูลฉันเห็น I / O สูง แต่ CPU และ RAM ยังคงเหมือนเดิม
หนึ่งแอปพลิเคชันเซิร์ฟเวอร์ CPU จะสูงถึงประมาณ 75% ฉันสามารถค้นหากระบวนการของผู้ปฏิบัติงานค้นหา PID อย่างไรก็ตามเมื่อฉันฆ่า PID ที่เกี่ยวข้องกับกระบวนการของผู้ปฏิบัติงาน CPU จะลดลงในเวลาสั้น ๆ จากนั้นย้อนกลับไปด้านขวา
การรีไซเคิลกลุ่มแอพพลิเคชั่นและการรีสตาร์ท IIS ก็ทำเช่นเดียวกัน CPU จะลดลงในเวลาสั้น ๆ จากนั้นย้อนกลับไปด้านบน
สิ่งเดียวที่สามารถทำได้เพื่อให้เซิร์ฟเวอร์กลับมาอยู่ในบรรทัดคือการรีสตาร์ท
ดังนั้นข้อเสนอแนะของฉันหากแบบสอบถามนี้เป็นสิ่งที่ทำให้ lockups สามารถเพิ่มหน่วยความจำในกล่องเพื่อให้ฐานข้อมูลได้รับแคชและหน่วยความจำไม่เพียงพอ ฉันได้ยินครั้งนี้ แต่ฉันไม่แน่ใจว่ามันเป็นเรื่องจริง
ที่เก็บข้อมูลเป็น HP PAR 3 ที่มี 3 ชั้นและฐานข้อมูลอาศัยอยู่ในระดับ SSD
SSD หรือหน่วยความจำเร็วกว่าไหน