Tỷ lệ mất gói với iperf và tcpdump


10

Tôi đã thử nghiệm một dòng cho chất lượng liên kết của nó với iperf. Tốc độ đo được (cổng UDP 9005) là 96Mbps, điều này là tốt, bởi vì cả hai máy chủ đều được kết nối với 100Mbps với internet. Mặt khác, tỷ lệ mất datagram được hiển thị là 3,3-3,7%, điều mà tôi thấy hơi quá. Sử dụng giao thức truyền tốc độ cao, tôi đã ghi lại các gói ở cả hai bên tcpdump. Hơn tôi tính toán mất gói - trung bình 0,25%. Có ai có một lời giải thích, sự khác biệt lớn này có thể đến từ đâu? Theo bạn, mất gói tin chấp nhận được là gì?


Giao thức nào bạn đã sử dụng khi đánh hơi với tcpdump? Là một tcp hay udp?
PiL

Tôi đã sử dụng udp cho cả hai bài kiểm tra.
stefita

Uhm ... bạn có thể thử với một gói sniffer khác không?
PiL

2
Wireshark sẽ sử dụng cùng một phụ trợ như tcpdump để chụp các gói, vì vậy nó sẽ không cung cấp kết quả khác nhau (libpcap hoặc winpcap, tùy thuộc vào nền tảng).
Jed Daniels

1
Bạn có thể đo mất gói tcpdumptrong iperfphiên? Đó là ước tính đúng đắn hơn so với của bạn. Thứ hai theo dõi trạng thái máy chủ trong quá trình kiểm tra - có thể đơn giản là nó bị rớt gói?
lexsys

Câu trả lời:


3

Tôi đã trải nghiệm dataloss đáng kể với iPerf ở chế độ UDP do CPU không thể theo kịp. Vì một số lý do, iPerf với UDP dường như tốn nhiều CPU hơn iPerf với TCP. Bạn có trải nghiệm tỷ lệ mất tương tự khi bạn đặt iPerf bằng một nửa tỷ lệ không?

Để trả lời câu hỏi thứ hai của bạn về mức độ mất gói có thể chấp nhận được, nó thực sự phụ thuộc vào ứng dụng bạn đang chạy, lưu lượng truy cập bạn có. Thực sự, không nên có bất kỳ tổn thất nào nếu bạn ở dưới giới hạn băng thông của mình. Đối với hầu hết mọi thứ, tôi có thể sẽ không phàn nàn quá nhiều về 0,25%, nhưng điều đó vẫn còn nhiều mất mát nếu bạn đang chạy với tốc độ thực sự cao.

[EDIT 1] Một số suy nghĩ khác mà tôi đã có về chủ đề:

  1. Hãy thử tăng tỷ lệ của iPerf. Nếu có một vấn đề mang tính hệ thống ở đâu đó, có khả năng bạn sẽ gặp phải tỷ lệ tổn thất tương tự cho dù tỷ lệ là bao nhiêu. Nếu bạn đang ở giới hạn của phần cứng hoặc nhà cung cấp của bạn thực hiện một số loại ĐỎ , thì có khả năng sẽ không có tổn thất nào đến một tỷ lệ nhất định, và sau đó tăng dần mức độ tổn thất cao hơn mức cao hơn bạn đi.
  2. Thực hiện phép đo tcpdump của phiên iPerf, chỉ để xác minh rằng các thử nghiệm của bạn là chính xác.
  3. Hãy thử iPerf với TCP. Điều này sẽ không báo cáo mất, nhưng nếu bạn đang bị mất thì kết nối sẽ không thể mở rộng rất cao. Vì độ trễ cũng sẽ ảnh hưởng đến điều này, hãy đảm bảo kiểm tra điểm cuối với độ trễ càng ít càng tốt.
  4. Tùy thuộc vào thiết bị bạn có ở bên trong kết nối của bạn, hãy chắc chắn rằng bạn càng gần nó càng tốt. Ví dụ: nếu bạn có nhiều công tắc giữa hệ thống kiểm tra và bộ định tuyến biên, hãy chuyển sang công tắc được kết nối trực tiếp.
  5. Nếu bạn có một công tắc được quản lý, hãy kiểm tra các số liệu thống kê về nó để đảm bảo mất mát không xảy ra ở đó. Tôi đã gặp một số thiết bị chuyển mạch rẻ hơn bắt đầu giảm khi bạn đạt gần 100Mbps lưu lượng truy cập UDP trên chúng (mặc dù hầu hết là các thiết bị chuyển mạch cũ và rẻ tiền không được quản lý).
  6. Hãy thử đồng thời iPerfs từ hai máy khách khác nhau đến hai máy chủ khác nhau, để bạn có thể chắc chắn rằng giới hạn không phải là kết quả của CPU hoặc thẻ NIC cục bộ giá rẻ.

Đó có thể là một lý do tốt. Thật không may, tôi không thể kiểm tra ngay bây giờ, vì các vấn đề tường lửa. Tôi sẽ quay lại câu trả lời của bạn ngay sau khi tôi thực hiện một bài kiểm tra mới.
stefita

0

Chà, với TCP có các cơ chế để tối đa hóa việc sử dụng một luồng, với UDP thì không. Vì vậy, mỗi ứng dụng phải tạo ra các cơ chế riêng, vì vậy có lẽ mỗi ứng dụng sử dụng một cách tiếp cận khác nhau để làm điều đó. Có lẽ, Iperf sẽ cho phép mất nhiều gói hơn vì đang cố đạt được băng thông tối đa sẵn có mà không cần quan tâm đến việc thông tin có được nhận hay không. Ứng dụng khác có thể sẽ cố gắng không bị mất nhiều gói và sẽ giảm tốc độ gói xuống thông lượng có sẵn trong kết nối.


0

Bạn đã sử dụng tcpdump để kiểm tra mất gói khi sử dụng iPerf để đảm bảo mất gói mà bạn tính toán với tcpdump khớp với iperf?

Bạn có thể khám phá ra rằng các phương pháp đo lường của bạn không thể so sánh được.


0

iperf có tự động loại bỏ các gói đi ra khỏi chuỗi với UDP không? Bạn có thể đang nhìn vào một chút jitter trên kết nối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.