ฉันมีการตั้งค่าแปลก ๆ ที่ ISP ให้การเชื่อมต่อที่รวดเร็วมาก (10 Gbps) แต่จำกัดการเชื่อมต่อแต่ละครั้งที่ 50 Mbps วิธีนี้ใช้ได้สำหรับแอปพลิเคชันแบบมัลติเธรดที่ฉันสามารถเพิ่มจำนวนเธรดได้ แต่ฉันต้องการแก้ปัญหานี้สำหรับแอปพลิเคชันแบบเธรดเดียวเช่นกันฉันใช้ Linux และนี่คือทราฟฟิก TCP ทั้งหมด (ต้องเป็น) - ฉันรู้สึกว่ามีวิธีที่ดีในการทำเช่นนี้โดยใช้ iptables แต่นี่เป็นวิธีที่ลึกเกินไป ฉันจำกัดการ์ด NIC หนึ่งใบบนอุปกรณ์ มีวิธีสร้างตัวโหลดบาลานเซอร์ที่สร้างการเชื่อมต่อหลายรายการผ่าน NIC เดียวกันแล้วปัดแพ็กเก็ตหรือไม่ (โดยพื้นฐานแล้วฉันทำสิ่งนี้ในซอฟต์แวร์สำหรับแอพแบบมัลติเธรดอยู่แล้ว .. แต่ต้องการทำในระดับระบบปฏิบัติการ)
แก้ไขปัญหา
สิ่งที่เกิดขึ้นคือ..ไม่ได้ถูกจำกัดโดย ISP เลย ฉันพยายามเชื่อมต่อกับอุปกรณ์ที่มีขนาดหน้าต่าง TCP คงที่ การเปลี่ยนอุปกรณ์เหล่านั้นเป็นขนาดหน้าต่าง TCP แบบไดนามิกจะเพิ่มปริมาณงานต่อการเชื่อมต่อให้สูงสุด เพิ่มเติมที่นี่:
https://en.wikipedia.org/wiki/Bandwidth-delay_product