Đối với gói UDP có trọng tải nhỏ hơn 1470, có thể đạt được thông lượng 1Gbit không? Do kích thước gói nhỏ, nên có một số tắc nghẽn trong việc đạt được thông lượng như vậy (I/O, OS, mạng, v.v.). Tôi tưởng tượng các trình điều khiển và phần cứng có thể phải được điều chỉnh để thông lượng gói nhỏ/cao. Có ai cố gắng đạt được thành công thông lượng 1Gbit với gói UDP nhỏ không?Gặp sự cố khi đạt được thông lượng UDP 1Gbit
Trả lời
Trước đây tôi đã thực hiện một số thử nghiệm với thông lượng trên liên kết gigabit trên phần cứng máy tính tương đối chuẩn, mặc dù chỉ truyền (qua tcpreplay), thay vì udp.
Nút cổ chai lớn nhất mà tôi thấy là chỉ nhận các gói dữ liệu cho chính NIC. Điều này có thể được cải thiện đáng kể bằng cách sử dụng bus tốc độ cao để giao tiếp với NIC của bạn (ví dụ: một NIC tốc độ 4x pci). Nhưng ngay cả với điều này có một giới hạn gói/giới hạn rất rõ ràng. Rõ ràng là tăng kích thước gói sẽ cho phép bạn sử dụng nhiều băng thông hơn trong khi giảm tải bộ xử lý.
Cùng các dòng giống như nhận xét theo Steve Moyer, có giới hạn lý thuyết cho việc sử dụng bất kỳ mạng nào. Trong các thí nghiệm của tôi (mà đã được thực hiện trên một mạng hoàn toàn yên tĩnh), tôi đã nhìn thấy tối đa khoảng (và chỉ ra khỏi đầu bộ nhớ của tôi) 900Mb/s. Điều này là với tải cpu từ 30 đến 40%. Nó có nhiều khả năng là giới hạn sẽ được áp đặt bởi phần cứng hệ thống của bạn (ví dụ PC) so với cơ sở hạ tầng mạng của bạn - bất kỳ chuyển đổi mạng nào đáng giá muối của nó sẽ có khả năng duy trì truy cập mạng tốc độ đầy đủ với các gói nhỏ - chắc chắn tỷ lệ cao hơn nhiều so với hầu hết các máy tính có thể đối phó với.
Có một hướng dẫn tốt về tinh chỉnh các thiết lập mạng của bạn (trong Linux) để đạt được đúng tốc độ gigabit đây: http://datatag.web.cern.ch/datatag/howto/tcp.html
gì loại kết nối mạng bạn đang sử dụng? Nếu bạn đang sử dụng một liên kết 1000BaseTx/Fx, đừng mong đợi hơn 80% thông lượng với các gói có kích thước tối đa. Khi kích thước gói của bạn giảm, chi phí cho khoảng cách, đồng bộ hóa, tiêu đề Ethernet, tiêu đề IP và tiêu đề UDP tăng liên quan đến tải trọng và do đó làm giảm thông lượng tối đa của bạn nhiều hơn.
Kiểm tra tài liệu cho công tắc bạn đang sử dụng. Công tắc bị hạn chế về số lượng gói trên giây (pps) mà chúng có thể phân phối và thường không thể duy trì 1GBps nếu bạn đang gửi gói có kích thước nhỏ hơn đáng kể so với kích thước tải trọng tối đa.
Một điều cần kiểm tra là liệu card mạng của bạn có đang thực hiện ngắt kết nối hay không và số lượng mô tả gửi/nhận tối đa mà nó có thể hỗ trợ là bao nhiêu. Ở mức độ thông lượng đó, thời gian dịch vụ ngắt và thời gian chuyển ngữ cảnh có thể trở thành một chi phí lớn trên hệ thống máy chủ ngay cả với hệ thống bộ nhớ và CPU hiện đại.
Ngoài ra nếu bạn đang sử dụng gigabit trên đồng, khung ethernet nhỏ nhất mà thẻ sẽ phát ra là 512 byte, vì vậy các thông báo nhỏ hơn sẽ được đệm thành kích thước đó. Điều này là do các yêu cầu cho phát hiện sóng mang/cảm giác sóng mang.
Tôi đã tìm thấy phần cứng có giới hạn gói tin mỗi giây thấp hơn đáng kể so với khả năng lý thuyết của mạng. Đối với Broadcomm BCM5704S, tôi đạt mức 69.000 pps so với 1.488,100pps gigabit.
Một số con số hơn tôi trình bày ở đây, http://code.google.com/p/openpgm/
- 1. UITableView gặp sự cố khi cuộn
- 2. UITextField gặp sự cố khi chạm vào
- 3. PHPStorm không sử dụng được sau khi gặp sự cố
- 4. Gặp sự cố với Datagridview.ClearSelection()
- 5. gặp sự cố với constexpr
- 6. Python HDF5 H5Py gặp sự cố khi mở nhiều tệp
- 7. MS Excel gặp sự cố khi mã vba chạy
- 8. trò chơi cocos2d-x gặp sự cố khi nhập nền
- 9. Không nên mã này gặp sự cố
- 10. Gặp sự cố khi lặp qua mảng và lưu vào phần đuôi. Sự cố gọi lại?
- 11. gặp sự cố khi triển khai .WAR tới tomcat
- 12. Gặp sự cố khi đặt cột được tính là không phải là Null
- 13. Gặp sự cố khi sử dụng PDO lần đầu tiên
- 14. Gặp sự cố khi gỡ cài đặt RVM
- 15. Gặp sự cố khi loại bỏ mã dư thừa thông qua kế thừa hoặc generics
- 16. Gặp sự cố khi cài đặt API Android 4.2
- 17. gặp sự cố khi giới thiệu về d3.js
- 18. BOOST.IOstreams: gặp sự cố khi ghi vào bzip2
- 19. Boost Python: Gặp sự cố khi nhập mô-đun
- 20. Gặp sự cố khi chỉ nhận Highchart hiển thị
- 21. Gặp sự cố khi tải mysqli_query để thực thi
- 22. GoogleMaps MapView gặp sự cố khi bật trong Android?
- 23. Gặp sự cố khi sử dụng haml và ray3
- 24. Android WebView gặp sự cố khi nhấp vào liên kết
- 25. Gặp sự cố khi chạy nút Phantomjs + trên Heroku
- 26. Chỉ gặp sự cố trên Testflight
- 27. Giải pháp Visual Studio 2010 gặp sự cố khi mở
- 28. Khôi phục tệp lớp .CS sau khi gặp sự cố
- 29. Gặp sự cố khi hiểu cách fs.stat() hoạt động
- 30. Gặp sự cố khi thêm skifree làm trứng Phục sinh
Một bản mô tả chi tiết hơn về topo mạng của bạn sẽ giúp sử dụng với các đề xuất ... –