2008-09-19 29 views
8

Đố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

+0

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 ... –

Trả lời

7

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.

3

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.

3

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.

3

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/

Các vấn đề liên quan