Score:0

โมดูลเหตุการณ์ Apache 2.4 MPM ทำให้เกิดข้อผิดพลาด 502 เป็นระยะและเวลาตอบสนองช้าหลัง AWS Application Load Balancer (ALB)

ธง cn

tldr; คุณจะกำหนดค่าโมดูลเหตุการณ์ Apache MPM เป็นพร็อกซีย้อนกลับที่ใช้งานได้เมื่อทำงานเบื้องหลัง AWS Application Load Balancer ที่ให้ปริมาณงานสูงได้อย่างไร

เค้าโครง

AWS Application Load Balancer -> Apache 2.4.x -> AWS Internal TCP Load Balancer (NLB) -> เซิร์ฟเวอร์แอป Jetty

การใช้การตั้งค่าการกำหนดค่าที่แสดงด้านล่างโมดูลเหตุการณ์ Apache MPM จะไม่เสถียรหลังตัวจัดสรรภาระงานแอป AWS เวลาตอบสนองเพิ่มขึ้นอย่างมาก และคำขอล้มเหลวเป็นระยะสำหรับข้อผิดพลาด 502 ที่ส่งคืนโดย ALB

การกำหนดค่าผู้ปฏิบัติงาน

เซิร์ฟเวอร์ลิมิต 250
สตาร์ทเซิร์ฟเวอร์ 100
MinSpareThreads 75
MaxSpareThreads 250
เธรดลิมิต 64
กระทู้ต่อเด็ก 64
MaxRequestWorkers 8000

การกำหนดค่า ProxyPass

enablereuse=เมื่อได้รับ=10 หมดเวลาการเชื่อมต่อ=2 หมดเวลา=55 สูงสุด=400 ลองใหม่=0 Keepalive=เปิด

เหตุการณ์ MPM เทียบกับผู้ปฏิบัติงาน MPM

การเปลี่ยนไปใช้โมดูลผู้ปฏิบัติงาน MPM แสดงให้เห็นการปรับปรุงทันทีในเวลาตอบสนอง และข้อผิดพลาด 502 หายไปโดยสิ้นเชิง

เวลาตอบสนองเป้าหมาย - เหตุการณ์ MPM ถึงผู้ปฏิบัติงาน MPM

ข้อผิดพลาด 502 - เหตุการณ์ MPM ถึงผู้ปฏิบัติงาน MPM

การดีบัก

ฉันสามารถติดตามข้อผิดพลาด 502 ที่ส่งคืนโดย ALB ไปจนถึงข้อผิดพลาด 408 ที่ส่งคืนโดย Jetty ดูเหมือนว่าท่าเทียบเรือจะส่งข้อผิดพลาดเนื่องจากการหมดเวลาในการอ่านคำขอ

ใช้ Ubuntu 20.04 กับ Apache 2.4.41-4ubuntu3.8

บันทึกที่น่าสนใจ

  • คำขอแม้ว่า AWS Network Load Balancer (NLB) ไปยังอินสแตนซ์ Apache เดียวกันจะตอบสนองอย่างรวดเร็วและไม่แสดงข้อผิดพลาด 502 ใดๆ
cn flag
ความแตกต่างกับ NLB อาจเป็นเพราะ NLB ทำงานที่เลเยอร์ที่ต่ำกว่า ALB ฉันถามได้ไหมว่าทำไม apache ถึงอยู่ตรงกลาง ทำไมไม่เพียงแค่กำหนดเส้นทาง ALB ไปยังเซิร์ฟเวอร์ Jetty
cn flag
@ shearn89 เป็น WAF: https://github.com/SpiderLabs/ModSecurity
cn flag
เหตุใดจึงไม่ใช้ AWS WAF แทน ซึ่งอาจถูกกว่าการเรียกใช้ EC2 อินสแตนซ์ทั้งหมด อีกทั้งยังมีการจัดการให้คุณ ดังนั้นคุณเพียงแค่ต้องเปิดใช้งานกฎที่จัดการโดย AWS บางส่วนและคุณก็พร้อมแล้ว!

โพสต์คำตอบ

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