Score:1

AWS Application Load Balancer ทำให้แอปพลิเคชัน ASP.NET หยุดทำงาน

ธง ng

ฉันมี AWS Application Load Balancer ที่กำหนดค่าด้วย EC2 และกลุ่มปรับขนาดอัตโนมัติ อินสแตนซ์ EC2 เรียกใช้เว็บเซิร์ฟเวอร์ Windows+IIS เว็บเซิร์ฟเวอร์เชื่อมต่อกับฐานข้อมูล

ในบางสถานการณ์ (ทุกๆ 2 เดือน) ที่การตรวจสอบสุขภาพสำหรับ ALB เริ่มตรวจพบว่าแอปพลิเคชันไม่แข็งแรง และทำให้อินสแตนซ์ EC2 หยุดทำงาน มีการเรียกใช้อย่างน้อย 2 อินสแตนซ์เสมอ และสิ่งนี้จะเกิดขึ้นกับทุกอินสแตนซ์พร้อมกันฉันพยายามทำความเข้าใจว่าเหตุใดจึงเกิดขึ้น และไม่พบบันทึกที่เป็นประโยชน์หรือข้อบ่งชี้ว่าสิ่งนี้มาจากไหน


ดูว่าอินสแตนซ์ลดลงเป็นศูนย์ได้อย่างไรในทันใดในวันที่ 6/12:

ในกรณีบริการ

ซูมเข้า:

ในอินสแตนซ์บริการ ซูมเข้า

อินสแตนซ์ EC2 ถูกยุติเป็น:

เหตุผลในการเลิกจ้าง

การตรวจสุขภาพได้รับการกำหนดค่าให้ ping เพจที่ทำ ไม่ สอบถามฐานข้อมูล ดังนั้นปัญหาคอขวดในฐานข้อมูลจึงดูเหมือนไม่ใช่สาเหตุที่เป็นไปได้

เมื่อเป็นเช่นนั้น เวลาตอบสนองจะพุ่งสูงขึ้น:

ขอเวลาตอบสนอง

และยังวัดโดย NewRelic:

เวลาตอบสนองของวัตถุโบราณใหม่

หมายเหตุบางสิ่ง:

  • ทุกช่วงของการตอบสนองช้าลง (เวลา Redis, เวลา .NET ฯลฯ)
  • มันเกิดขึ้นกับทุกเซิร์ฟเวอร์ในเวลาเดียวกัน ดังนั้นไม่น่ามีปัญหากับภายในเซิร์ฟเวอร์
  • มันมักจะเกิดขึ้นนอกเวลาทำการเมื่อโหลดต่ำ

การกำหนดค่าการปรับขนาดอัตโนมัติ:

ความจุขั้นต่ำ = 2
ความจุสูงสุด=15
การกระจายอินสแตนซ์= 50% ตามความต้องการ 50% เฉพาะจุด
รวมความจุพื้นฐานตามความต้องการ=กำหนด 1 อินสแตนซ์แรกเป็นตามความต้องการ
กลยุทธ์การจัดสรรตามความต้องการ=จัดลำดับความสำคัญ
กลยุทธ์การจัดสรรเฉพาะจุด = ราคาต่ำสุด - กระจายไปทั่วกลุ่มราคาต่ำสุด 10 กลุ่ม
ปรับสมดุลความจุ=ปิด
การป้องกันการขยายอินสแตนซ์=ไม่ได้รับการป้องกันจากการขยายขนาดอินสแตนซ์
นโยบายการยกเลิก = ค่าเริ่มต้น
คูลดาวน์เริ่มต้น = 300

การกำหนดค่ากลุ่มเป้าหมาย:

โปรโตคอล = HTTPS
Path=/path/to/login/page
ท่าเรือ = ท่าเรือจราจร
เกณฑ์สุขภาพดี = ตรวจสุขภาพสำเร็จ 2 ครั้งติดต่อกัน
เกณฑ์ไม่ดี = การตรวจสุขภาพล้มเหลว 4 ครั้งติดต่อกัน
หมดเวลา = 20 วินาที
ช่วงเวลา = 25 วินาที
รหัสสำเร็จ = 200
Tim avatar
gp flag
Tim
เป็นไปได้ไหมที่ Windows Update จะรีบูตเซิร์ฟเวอร์หลังจากทำการแพตช์ เพื่อบรรเทาว่าคุณอาจสามารถเพิ่มเกณฑ์ที่ไม่ดีเพื่อให้อินสแตนซ์มีเวลามากขึ้นในการกู้คืน ฉันสงสัยว่าคุณสามารถสลับเวลาอัปเดต windows เพื่อให้อินสแตนซ์หนึ่งมีสุขภาพที่ดี หากต้องการวินิจฉัยเพิ่มเติม จะเป็นการง่ายที่สุดที่จะ "กักกัน" เซิร์ฟเวอร์ที่ไม่ผ่านการตรวจสอบสภาพสำหรับการตรวจสอบด้วยตนเอง การพุชบันทึกเซิร์ฟเวอร์ไปยัง Cloudwatch Logs อาจช่วยได้ตราบเท่าที่พุชบันทึกทันที
ng flag
ขอบคุณ. ฉันจะทำอย่างไร มันไม่ได้เกิดขึ้นบ่อยนัก และเมื่อมันเกิดขึ้น อินสแตนซ์จะถูกยกเลิกทันทีเมื่อมันกลายเป็นปัญหา
Tim avatar
gp flag
Tim
ไม่ทราบว่าต้องทำอย่างไรครับ ต้องลองศึกษาดูครับ สิ่งแรกที่ต้องทำคือเปลี่ยนอิมเมจของคุณเพื่อส่งบันทึกไปยังบันทึกของ Cloudwatch โดยเร็วที่สุด วิธีนี้อย่างน้อยคุณจะได้เห็นว่าเซิร์ฟเวอร์กำลังทำอะไรก่อนที่การตรวจสอบความสมบูรณ์จะล้มเหลว ฉันจะผลักหน้าต่างและบันทึกแอปพลิเคชัน
cn flag
ด้วยเหตุผลคือ "การปิดระบบโดยผู้ใช้เริ่มต้น" ฟังดูเหมือนการอัปเดต windows หรือสิ่งอื่นที่เกิดขึ้น หรืองานตามกำหนดการอื่นๆ คุณกำลังทำงานในบัญชีที่เป็นส่วนหนึ่งขององค์กร AWS ที่อาจมีงานทำงานอยู่หรือไม่ นายจ้างคนสุดท้ายของฉันมีแลมบ์ดาบางตัวที่จะปิดอินสแตนซ์ตามแท็ก...
ng flag
ไม่มีสิ่งอื่นใดที่อาจส่งผลต่อ AFAIK นั้น Windows Update อาจเกิดขึ้นได้หากอินสแตนซ์ทั้งหมดอัปเดตพร้อมกัน แต่เนื่องจากอินสแตนซ์ที่สร้างขึ้นใหม่บางตัวก็ล้มเหลวเช่นกัน (จนกระทั่ง 30 นาทีต่อมาเมื่อทั้งหมดเริ่มทำงานทันที) จึงไม่น่าเป็นไปได้มากนัก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา