Tôi có một hộp linux tôi sử dụng làm iperf3
máy khách, thử nghiệm 2 hộp máy chủ Windows 2012 R2 được trang bị giống hệt với Broadcom BCM5721, bộ điều hợp 1Gb (2 cổng, nhưng chỉ có 1 được sử dụng cho thử nghiệm). Tất cả các máy được kết nối thông qua một công tắc 1Gb.
Kiểm tra UDP ở mức 300Mbit
iperf3 -uZVc 192.168.30.161 -b300m -t5 --get-server-output -l8192
dẫn đến mất 14% tất cả các gói được gửi (đối với hộp máy chủ khác có phần cứng chính xác, nhưng trình điều khiển NIC cũ hơn, mất khoảng 2%), nhưng mất mát xảy ra ngay cả ở mức 50Mbit, mặc dù ít nghiêm trọng hơn. Hiệu suất TCP sử dụng các cài đặt tương đương:
iperf3 -ZVc 192.168.30.161 -t5 --get-server-output -l8192
mang lại tốc độ truyền phía bắc 800Mbit, không có báo cáo truyền lại.
Máy chủ luôn được khởi động bằng các tùy chọn sau:
iperf3 -sB192.168.30.161
Người để đổ lỗi?
Hộp máy khách linux (phần cứng? Trình điều khiển? Cài đặt?)?Chỉnh sửa: Tôi vừa chạy thử nghiệm từ hộp máy chủ Windows này sang hộp máy chủ khác và mức mất gói UDP ở 300Mbit thậm chí còn cao hơn, ở mức 22%- Các hộp máy chủ windows (phần cứng? Trình điều khiển? Cài đặt?)?
- Công tắc (đơn) kết nối tất cả các máy kiểm tra?
- Cáp?
Biên tập:
Bây giờ tôi đã thử một hướng khác: Windows -> Linux. Kết quả: Mất gói luôn 0 , trong khi thông lượng tối đa ở xung quanh
- 840Mbit cho
-l8192
, tức là các gói IP bị phân mảnh - 250Mbit cho
-l1472
, gói IP không phân mảnh
Tôi đoán lưu lượng kiểm soát dòng chảy và ngăn ngừa mất gói. Đặc biệt là phần sau, con số không phân mảnh không ở gần thông lượng TCP (TCP không phân mảnh mang lại số liệu tương tự như TCP bị phân mảnh), nhưng đó là một cải tiến vô cùng lớn so với Linux -> Windows về việc mất gói.
Và làm thế nào để tìm hiểu?
Tôi đã làm theo lời khuyên thông thường cho cài đặt trình điều khiển trên máy chủ để tối đa hóa hiệu suất và cố gắng bật / tắt / tối đa hóa / thu nhỏ / thay đổi
- Kiểm duyệt ngắt
- Kiểm soát lưu lượng
- Nhận được bộ đệm
- RSS
- Thức dậy trên mạng LAN
Tất cả các tính năng giảm tải được kích hoạt.
Chỉnh sửa Tôi cũng đã cố gắng bật / tắt
- Ethernet @ Wirespeed
- Các tính năng giảm tải khác nhau
- Ưu tiên & Vlan
Với tỷ lệ tổn thất tương tự.
Đầu ra đầy đủ của một lần chạy UDP:
$ iperf3 -uZVc 192.168.30.161 -b300m -t5 --get-server-output -l8192
iperf 3.0.7
Linux mybox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt4-3 (2015-02-03) x86_64 GNU/Linux
Time: Wed, 13 May 2015 13:10:39 GMT
Connecting to host 192.168.30.161, port 5201
Cookie: mybox.1431522639.098587.3451f174
[ 4] local 192.168.30.202 port 50851 connected to 192.168.30.161 port 5201
Starting Test: protocol: UDP, 1 streams, 8192 byte blocks, omitting 0 seconds, 5 second test
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.00 sec 33.3 MBytes 279 Mbits/sec 4262
[ 4] 1.00-2.00 sec 35.8 MBytes 300 Mbits/sec 4577
[ 4] 2.00-3.00 sec 35.8 MBytes 300 Mbits/sec 4578
[ 4] 3.00-4.00 sec 35.8 MBytes 300 Mbits/sec 4578
[ 4] 4.00-5.00 sec 35.8 MBytes 300 Mbits/sec 4577
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 176 MBytes 296 Mbits/sec 0.053 ms 3216/22571 (14%)
[ 4] Sent 22571 datagrams
CPU Utilization: local/sender 4.7% (0.4%u/4.3%s), remote/receiver 1.7% (0.8%u/0.9%s)
Server output:
-----------------------------------------------------------
Accepted connection from 192.168.30.202, port 44770
[ 5] local 192.168.30.161 port 5201 connected to 192.168.30.202 port 50851
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 5] 0.00-1.01 sec 27.2 MBytes 226 Mbits/sec 0.043 ms 781/4261 (18%)
[ 5] 1.01-2.01 sec 30.0 MBytes 252 Mbits/sec 0.058 ms 734/4577 (16%)
[ 5] 2.01-3.01 sec 29.0 MBytes 243 Mbits/sec 0.045 ms 870/4578 (19%)
[ 5] 3.01-4.01 sec 32.1 MBytes 269 Mbits/sec 0.037 ms 469/4579 (10%)
[ 5] 4.01-5.01 sec 32.9 MBytes 276 Mbits/sec 0.053 ms 362/4576 (7.9%)
Chạy TCP:
$ iperf3 -ZVc 192.168.30.161 -t5 --get-server-output -l8192
iperf 3.0.7
Linux mybox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt4-3 (2015-02-03) x86_64 GNU/Linux
Time: Wed, 13 May 2015 13:13:53 GMT
Connecting to host 192.168.30.161, port 5201
Cookie: mybox.1431522833.505583.4078fcc1
TCP MSS: 1448 (default)
[ 4] local 192.168.30.202 port 44782 connected to 192.168.30.161 port 5201
Starting Test: protocol: TCP, 1 streams, 8192 byte blocks, omitting 0 seconds, 5 second test
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 109 MBytes 910 Mbits/sec 0 91.9 KBytes
[ 4] 1.00-2.00 sec 97.3 MBytes 816 Mbits/sec 0 91.9 KBytes
[ 4] 2.00-3.00 sec 97.5 MBytes 818 Mbits/sec 0 91.9 KBytes
[ 4] 3.00-4.00 sec 98.0 MBytes 822 Mbits/sec 0 91.9 KBytes
[ 4] 4.00-5.00 sec 97.6 MBytes 819 Mbits/sec 0 91.9 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
Test Complete. Summary Results:
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 499 MBytes 837 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 498 MBytes 836 Mbits/sec receiver
CPU Utilization: local/sender 3.5% (0.5%u/3.0%s), remote/receiver 4.5% (2.0%u/2.5%s)
Server output:
-----------------------------------------------------------
Accepted connection from 192.168.30.202, port 44781
[ 5] local 192.168.30.161 port 5201 connected to 192.168.30.202 port 44782
[ ID] Interval Transfer Bandwidth
[ 5] 0.00-1.00 sec 105 MBytes 878 Mbits/sec
[ 5] 1.00-2.00 sec 97.5 MBytes 818 Mbits/sec
[ 5] 2.00-3.00 sec 97.6 MBytes 819 Mbits/sec
[ 5] 3.00-4.00 sec 97.8 MBytes 820 Mbits/sec
[ 5] 4.00-5.00 sec 97.7 MBytes 820 Mbits/sec