อย่าให้เวลาหมดไปกับการมีชีวิตอยู่ใน Amazon ELB


9

ฉันใช้ Tomcat 6.0.24 บน Ubuntu (JDK 1.6) กับแอพที่ใช้การร้องขอ Comet-style บนตัวเชื่อมต่อ HTTPS (เชื่อมต่อโดยตรงกับ Tomcat ไม่ใช่การใช้ APR)

ฉันต้องการตั้งค่า keep-alive ถึง 5 นาทีดังนั้นฉันไม่จำเป็นต้องรีเฟรชการเชื่อมต่อการสำรวจระยะยาวของฉัน นี่คือการกำหนดค่าของฉัน:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="1000"  keepAliveTimeout="330000"
        scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" />

น่าเสียดายที่เซิร์ฟเวอร์ปิดการเชื่อมต่อหลังจาก 65 วินาที pcap จากเซสชันตัวอย่างมีลักษณะดังนี้:

T=0   Client sends SYN to server, handshake etc.
T=65  Server sends FIN to client
T=307 Client sends FIN to server

(ฉันคาดเดาว่าการหมดเวลา 5 นาทีของไคลเอนต์นั้นเกิดจาก HTTP lib ไม่ตรวจจับซ็อกเก็ตใกล้กับเซิร์ฟเวอร์ แต่ในกรณีใด ๆ - เซิร์ฟเวอร์ไม่ควรปิดการเชื่อมต่อก่อนหน้านี้)

(แก้ไข: ใช้งานได้ตามที่คาดไว้เมื่อใช้ตัวเชื่อมต่อ HTTP มาตรฐาน)

คำตอบ:


13

ELB ของ Amazon (Elastic Load Balancer) มีการไม่มีเอกสาร ( ยกเว้นในฟอรัม ) การหมดเวลา 60 วินาทีซึ่งจะทำให้การเชื่อมต่อขาดลงหากไม่มีการส่งข้อมูล การแฮ็กข้อมูลโดยการส่งช่องว่างทุก ๆ 55 วินาทีดูเหมือนว่ามันจะทำงานจนกว่าพวกเขาจะกำหนดค่านี้ได้


(การหมดเวลายังคงอยู่ที่นั่น BTW .. jeesh)
sehugg

ยังคงไม่สามารถกำหนดค่า ... นี้เป็นปัญหาที่ค้างอยู่ตั้งแต่ปี 2009 หรือดังนั้นตอนนี้ ...
เดนนิสMünkle

4
กำหนดค่าได้จนถึง 1 ชั่วโมงตอนนี้docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Peter

10

การหมดเวลาโหลดบาลานเซอร์ซึ่งปิดการเชื่อมต่อจะได้รับการบันทึกไว้ในตอนนี้:

เพื่อกำหนดการตั้งค่าการหมดเวลาที่ไม่ได้ใช้งานสำหรับตัวโหลดบาลานซ์

  1. เปิดคอนโซล Amazon EC2 ที่https://console.aws.amazon.com/ec2/
  2. ในบานหน้าต่างนำทางภายใต้Load Balancingคลิกโหลด balancers
  3. เลือกโหลดบาลานซ์ของคุณ
  4. ในบานหน้าต่างด้านล่างให้เลือกแท็บคำอธิบาย
  5. ค้นหาการตั้งค่าการเชื่อมต่อและจากนั้นคลิก(แก้ไข)
  6. ในการตั้งค่าการเชื่อมต่อกล่องโต้ตอบป้อนค่าสำหรับการหมดเวลาไม่ได้ใช้งาน ช่วงเวลาที่ไม่ได้ใช้งานคือ 1 ถึง 3,600 วินาที
  7. คลิกบันทึก

ตอนนี้ควรเป็นคำตอบที่ยอมรับได้
jonatan


0

ช่วงเวลาหมดเวลาของ ELB ได้รับการอัปเดตและสามารถเป็นได้ตั้งแต่ 1 วินาที (ต่ำสุด) สูงสุด 4,000 วินาที (สูงสุด) และค่าเริ่มต้นสำหรับการหมดเวลาว่างคือ 60 วินาที

https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html

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