Score:1

Wireguard ช้า แต่สำหรับการอัปโหลด windows เท่านั้น

ธง nl

เรามีปัญหาที่การเชื่อมต่อจากเครือข่ายไคลเอนต์หลายเครือข่ายผ่าน Wireguard Tunnel ไปยัง Samba ที่ใช้ร่วมกันบนเซิร์ฟเวอร์นั้นช้า แต่น่าแปลกที่มันมีผลกับ Windows 10 และเฉพาะการอัปโหลดเท่านั้น

โฮสต์ Linux สามารถอัปโหลดได้สูงสุด 120MB/s ในขณะที่ Windows สามารถอัปโหลดได้สูงสุด 10-50MB/s เท่านั้น (แตกต่างกันไปตามเครือข่ายต่างๆ ที่เรามี) ไม่จำกัดเฉพาะ smb ฉันได้รับผลการทดสอบเดียวกันกับ Iperf (udp และ tcp)

ด้วยความอยากรู้อยากเห็น ฉันทดสอบว่า Windows 11 ได้รับผลกระทบหรือไม่และเป็นเช่นนั้น ไม่! นี่อาจเป็นอะไรและฉันจะแก้ไขได้อย่างไร

Score:1
ธง in

ไดรเวอร์เคอร์เนลรุ่นทดลองที่พวกเขาเพิ่มในรีลีส 0.4.8 ทำให้ความเร็วในการอัพโหลดของ windows ลดลง เพียงเรียกใช้เวอร์ชันที่เก่ากว่าจนกว่าจะแก้ไขได้

https://download.wireguard.com/windows-client/wireguard-amd64-0.4.7.msi

Paul avatar
cn flag
ยินดีต้อนรับสู่ความผิดพลาดของเซิร์ฟเวอร์! คำตอบของคุณชี้ให้เห็นวิธีแก้ปัญหาที่ใช้การได้สำหรับคำถามนี้ผ่านทางเว็บไซต์อื่น ตระกูล Stack Exchange ของเว็บไซต์ถามตอบ ). โปรดอ่าน [ฉันจะเขียนคำตอบที่ดีได้อย่างไร](http://serverfault.com/help/how-to-answer) และพิจารณาแก้ไขคำตอบของคุณเพื่อรวมขั้นตอนที่จำเป็นในการแก้ไขปัญหา และอย่าลืมดู [ทัวร์ชมเว็บไซต์](http://serverfault.com/tour)
Score:1
ธง nl

ดูเหมือนว่าจะเป็นปัญหาเดียวกันหรืออย่างน้อยก็คล้ายกันตามที่อธิบายโดย Dropbox (https://dropbox.tech/infrastructure/boosting-dropbox-upload-speed). เท่าที่ฉันเข้าใจ (โปรดแก้ไขฉันด้วย!) เมื่อ Linux Gateway ใช้ NIC แบบหลายคิวด้วย Wireguard การจัดลำดับแพ็คเกจใหม่จำนวนมากจะเกิดขึ้นและเห็นได้ชัดว่า Windows 10 ไม่สามารถจัดการได้ดีเช่นกัน การจัดลำดับแพ็คเกจใหม่ทำให้ Windows 10 ชะลอความเร็วในการส่งโดยการรอ ack หลังจากแพ็กเก็ตข้อมูลที่ส่งเกือบทุกแพ็กเก็ต แทนที่จะส่งหลายแพ็กเก็ตและยอมรับ acks แบบเลือก

ฉันเสียใจที่ลืมสร้างภาพหน้าจอของเซสชัน Wireshark ที่ฉันวิเคราะห์ไว้ แต่เห็นได้ชัดว่าเมื่อดาวน์โหลด โฮสต์ Windows มักจะมีแพ็คเก็ตข้อมูลประมาณ 10-20 tcp ก่อนที่จะส่ง ack แต่เมื่ออัปโหลดฉันได้รับ TCP ack สำหรับแต่ละแพ็คเกจข้อมูลที่ส่ง

วิธีแก้ไขคือปิดใช้งานหลายคิวบนโฮสต์ Linux

ethtool -L PHYSICAL_LOCAL_INTERFACE รวมกัน 1
ethtool -L PHYSICAL_NETWORK_INTERFACE รวมกัน 1

เพื่อดูว่ามันถูกนำไปใช้หรือไม่

ethtool -l INTERFACENAME
พารามิเตอร์ช่องสำหรับ INTERFACENAME:
ค่าสูงสุดที่ตั้งไว้ล่วงหน้า:
RX: 0
เท็กซัส: 0
อื่นๆ: 1
รวม: 63
การตั้งค่าฮาร์ดแวร์ปัจจุบัน:
RX: 0
เท็กซัส: 0
อื่นๆ: 1
รวม: 1

บรรทัดสุดท้ายควรเป็น 1 คำสั่งด้านบนจะตั้งค่านี้ชั่วคราวเท่านั้น เพื่อให้เครื่องมือเฉพาะของ distro ใช้งานได้อย่างต่อเนื่อง สำหรับ Debian อาจเป็นดังนี้:

แมว /etc/network/interfaces
INTERFACE อัตโนมัติ
iface INTERFACE inet คงที่
    ที่อยู่ IPADDR
    เน็ตมาสก์ NETMASK
    เกตเวย์ GATEWAY
    #นี่คือบรรทัดที่เกี่ยวข้อง
    post-up ethtool -L INTERFACE รวมกัน 1

สิ่งนี้อาจสร้างปัญหาคอขวดหากเกตเวย์ไม่มี CPU ที่แข็งแกร่ง เราใช้โปรเซสเซอร์ AMD EPYC 7262 8-Core และรับการอัพและดาวน์โหลด 1Gbit เต็มรูปแบบโดยใช้ ~70% ของหนึ่งคอร์

โพสต์คำตอบ

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