หากคุณไปสู่เส้นทางที่มีประสิทธิภาพสูงโดยทั่วไปคุณจะต้องเรียกใช้กระบวนการอื่น ๆ (ตามกำหนดเวลา) น้อยที่สุดเท่าที่จะเป็นไปได้เนื่องจากจะรบกวนการทำงานของแอปพลิเคชันของคุณ
Linux เช่นเดียวกับระบบปฏิบัติการ UNIX แบบคลาสสิกได้รับการออกแบบมาเพื่อรันแอพพลิเคชั่นหลายตัวพร้อมกันอย่างยุติธรรมและพยายามป้องกันความอดอยากของทรัพยากรและคุณจะมุ่งไปที่สิ่งที่ตรงกันข้าม ขั้นตอนง่าย ๆ ในระดับระบบปฏิบัติการกำลังเปลี่ยนระดับที่ดีและลำดับความสำคัญตามเวลาจริงของแอปพลิเคชันของคุณเปลี่ยนตัวกำหนดตารางเวลาหรือไปใช้เคอร์เนลตามเวลาจริง
โดยทั่วไปแล้ว TCP / IP จะถูกปรับเพื่อป้องกันการเชื่อมต่อที่ลดลงและใช้แบนด์วิดท์ให้มีประสิทธิภาพ เพื่อให้ได้ค่าเวลาแฝงต่ำสุดที่เป็นไปได้จากการเชื่อมโยงที่รวดเร็วมากแทนที่จะใช้แบนด์วิดท์สูงสุดที่เป็นไปได้จากการเชื่อมต่อที่มีการเชื่อมโยงกลางบางข้อ จำกัด มากขึ้นคุณจะต้องปรับจูนเครือข่าย
sysctl -a
จะแสดงโฮสต์ของการตั้งค่าเมล็ดที่คุณสามารถปรับได้ การตั้งค่าขึ้นอยู่กับว่าคุณกำลังใช้ IPv4 หรือ IPv6 หรือไม่และสิ่งที่คุณทำในแอปพลิเคชันของคุณ แต่อาจเป็นที่สนใจ:
net.ipv4.tcp_window_scaling=1
RFC 1323 - รองรับขนาดหน้าต่าง IPV4 TCP ที่ใหญ่กว่า 64K - โดยทั่วไปจำเป็นสำหรับเครือข่ายแบนด์วิธสูง
net.ipv4.tcp_reordering=3
จำนวนครั้งสูงสุดที่แพ็คเก็ต IPV4 สามารถจัดลำดับใหม่ในสตรีมแพ็คเก็ต TCP โดยไม่มี TCP สมมติว่าแพ็กเก็ตสูญหายและกำลังเริ่มต้นช้า
net.ipv4.tcp_low_latency=1
ตั้งใจที่จะให้ความสำคัญกับเวลาแฝงต่ำผ่านปริมาณงานสูง setting = 1 ปิดใช้งานการประมวลผล prequeue IPV4 tcp
net.ipv4.tcp_sack=0
การตั้งค่าเป็น 1 เปิดใช้งานการตอบรับแบบเลือกได้สำหรับ IPV4 ซึ่งต้องการการเปิดใช้งาน tcp_timestamps และเพิ่มค่าใช้จ่ายของแพ็คเก็ตซึ่งคุณไม่ต้องการหากคุณไม่ได้สัมผัสกับ packetloss
net.ipv4.tcp_timestamps=0
แนะนำเฉพาะในกรณีที่ต้องการกระสอบ
net.ipv4.tcp_fastopen=1
เปิดใช้งานเพื่อส่งข้อมูลในการเปิดแพ็คเก็ต SYN
ส่วนใหญ่ถ้าไม่ใช่ทั้งหมดจะได้รับการบันทึกไว้ในแหล่งเคอร์เนลได้ดีขึ้น
คุณสามารถเรียนรู้โค้ดของซ็อกเก็ต TCP ดิบและโดยส่วนใหญ่ผ่านเคอร์เนล TCP / IP สแต็คทั้งหมด
บ่อยครั้งที่ระบบที่ได้รับการปรับแต่งสูงทำงานในเครือข่ายที่เชื่อถือได้และจะปิดไฟร์วอลล์ในเครื่อง (iptables)