สถานการณ์ที่ฉันมีมีดังนี้: ฉันมีเซสชัน TCP ย้อนกลับและฉันต้องการปรับปรุงประสิทธิภาพ ฉันมีวัตถุคล้ายซ็อกเก็ต (System.Net.Sockets ใน .NET Framework เฉพาะเจาะจง) ส่งข้อความได้สูงสุดประมาณ 9MB แต่ละข้อความไหลในทั้งสองทิศทางของการเชื่อมต่อ TCP ฉันสังเกตเห็นความล่าช้าโดยทั่วไปประมาณ 20 มิลลิวินาทีสำหรับข้อความขนาดใหญ่เช่นนี้เพื่อไปยังอีกฝั่งหนึ่ง
ด้วย WireShark ฉันพบว่าโฟลว์ TCP ถูกจำกัดที่ 65535 ไบต์ต่อเซกเมนต์ ฉันสงสัยว่านี่เป็นคอขวดของประสิทธิภาพความเร็วในส่วนหัวของ TCP ตัวเลือกการปรับขนาดหน้าต่างจะเปิดใช้งาน และขนาดหน้าต่างที่คำนวณได้นั้นใหญ่เพียงพอ ฉันสงสัยว่า "ตัวเลือก TCP - ขนาดเซ็กเมนต์สูงสุด" (MSS) ในแพ็กเก็ต SYN คือสิ่งที่จำกัดขนาดของแต่ละเซ็กเมนต์ TCP โปรดดูภาพ WireShark และชี้ว่าฉันผิดหรือไม่
เซ็กเมนต์ TCP ที่จำกัดขนาด และตัวเลือกการปรับขนาดหน้าต่าง
แพ็คเก็ต SYN และ MSS
ตอนนี้กลับมาที่คำถามในหัวข้อ ใน Windows 7/8/10/11 มีวิธีใดบ้างที่จะเพิ่มขีดจำกัดขนาดเซ็กเมนต์ TCP นี้ ฉันหวังว่าจะพบวิธีที่เพิ่ม MSS สำหรับการเชื่อมต่อแบบย้อนกลับหรือเฉพาะบางพอร์ตหรือบางอย่างเท่านั้น