Tôi đã tạo một số mã Java để đo độ trễ, kích thước gói và băng thông.Cách tính độ trễ
Phương trình cần thiết để tính thời gian chờ là gì?
Đây là những gì tôi hiện đang sử dụng nhưng chắc chắn nó là đúng:
//latency = packetsize/delay + bandwidth
System.out.println("latency is " + (len*2)/(duration + transferRateMb));
EDIT chiều dài được multipled bởi 2 để cho giá trị đúng theo byte
thời gian là thời gian thực hiện cho ping để hoàn tốc độ truyền tải
được tìm thấy theo:
double transferRateMb = ((len*524288.0)/(duration/ 1000000000.0)) ; //amount of data in megabytes transferred in 1 second.
Tôi đã đọc hướng dẫn khác nhau, và không hiểu họ, đây chỉ là một yêu cầu đơn giản cho một dự án
cũng này sẽ được chạy 20 lần và tỷ lệ trung bình lấy
bất kỳ ý tưởng?
Tôi hy vọng '(duration + transferRateMb)' cho bạn giá trị gấp đôi và [---> Độ trễ và băng thông] (http://wirelesstechnol.wordpress.com/2010/07/09/latency-and-bandwidth/) và đã được hỏi [---> cách tính thời gian gói từ độ trễ và băng thông] (http://stackoverflow.com/questions/8682702/how-to-calculate-packet-time-from-latency-bandwidth) – Smit
Độ trễ là bị ảnh hưởng nhiều nhất bởi tắc nghẽn mạng, điều này sẽ thay đổi đáng kể theo thời gian và độ trễ theo một hướng có thể không phù hợp với độ trễ trả về. Không có cách nào thực sự để có được một công thức để cho bạn biết độ trễ là gì. Đó là lý do tại sao chúng tôi có các công cụ như IP SLA để liên tục đo độ trễ thực tế. –