ฉันมีแอปพลิเคชันจาวาที่ทำงานบนอินสแตนซ์ ec2 Nginx และ mongodb ก็ทำงานบนอินสแตนซ์เช่นกัน แอปพลิเคชันสามารถเข้าถึงได้ผ่าน ELB ซึ่งจะส่งต่อคำขอไปยังอินสแตนซ์
ฉันมีอินสแตนซ์เดียวกัน 2 เวอร์ชันที่ทำงานโดยเวอร์ชันหนึ่งได้รับการเข้าชมมากกว่าอีกเวอร์ชันหนึ่งเล็กน้อย (เนื่องจากเวอร์ชันหนึ่งให้บริการเนื้อหาสำหรับทั้งสองแอป) อย่างไรก็ตาม มีเพียงอินสแตนซ์หลักที่ให้บริการเนื้อหาเท่านั้นที่ตกลงไป
ตอนเช้าส่วนใหญ่อินสแตนซ์ ec2 จะหยุดทำงาน ดังนั้นแอปจึงไม่ทำงานอีกต่อไปโดยที่ฉันได้รับข้อความจาก sns มักจะเป็นเวลา 4:01 น. UTC (ซึ่งดูเหมือนจะไม่ใช่เรื่องบังเอิญ) แต่ก็มีเวลาที่ล้มเหลวอื่นๆ ตั้งแต่ 01:26 น. ถึง 5:21 น.
นี่เป็นเรื่องแปลกเนื่องจากแอปถูกใช้งานตลอดทั้งวันไม่ใช่ตลอดทั้งคืน ฉันได้ยืนยันสิ่งนี้กับทั้งบันทึก nginx บนอินสแตนซ์และบันทึกแอป
อินสแตนซ์คือ t2.micro แต่ก่อนที่ฉันจะเพิ่มสิ่งนี้ ฉันต้องการเข้าใจสาเหตุของปัญหา เนื่องจากในช่วงเวลาที่มีการใช้งานสูงสุด ดูเหมือนว่าจะจัดการสิ่งต่างๆ ได้ดี และมันไม่สมเหตุสมผลเลยว่าทำไมมันถึงล้มเหลวในตอนเช้า
เมื่อถึงจุดที่ปัญหาเกิดขึ้น มีการใช้งาน CPU เพิ่มขึ้นเล็กน้อยจาก ~2% เป็น ~8%
สถิติที่น่าสงสัยคือการเพิ่มขึ้นอย่างมากใน Read Bandwith บนโวลุ่ม ebs ก่อนการหยุดทำงานซึ่งดูเหมือนว่าจะคงอยู่จนกว่าจะรีสตาร์ท
เพิ่มแบนด์วิธในการอ่านบน ebs
กิจกรรมเดียวที่ฉันทราบเกี่ยวกับวอลุ่มนี้คือการสำรองข้อมูลแบบ mongo ซึ่งดัมพ์ฐานข้อมูลและอัปโหลดไฟล์เก็บถาวรไปยัง s3 เวลา 02:40 น.
ใครช่วยกรุณาให้ข้อมูลเชิงลึกเกี่ยวกับสาเหตุของสิ่งนี้ได้บ้าง
ขออภัยหากข้อมูลไม่เพียงพอ