Bandwidth Delay Product Calculator
TCP arabellek ayarlaması için BDP hesaplayın ve önerilen pencere boyutları ile sysctl ayarlarını alın.
Bu araç hakkında
Bant genişliği-gecikme çarpımı (BDP), bağlantı bant genişliğinin gidiş-dönüş süresiyle çarpımıdır ve herhangi bir anda hat üzerinde ne kadar verinin yolda olabileceğini tam olarak gösterir. Bu sayı, yüksek hızın yüksek gecikmeyle birleştiği ve küçük bir pencerenin aktarımınızı sessizce kıstığı uzun ve hızlı ağlarda tam verimi yakalamak için ideal TCP penceresini belirler.
Kullanmak için bağlantı bant genişliğini ve gidiş-dönüş gecikmesini girin, ardından elde edilen BDP değerini ve önerilen TCP pencere boyutunu okuyun. Ağ mühendisleri, verimi ayarlayan sistem yöneticileri ve yüksek gecikmeli bağlantılarda yavaş aktarımları teşhis eden herkes için tasarlanmıştır.
İpucu: TCP penceresi BDP'den küçükse, hat ACK'leri beklerken boşta kalır ve verim düşer; bu yüzden arabelleklerinizi buna göre boyutlandırın. Her şey tarayıcınızda yerel olarak çalışır.
Sıkça Sorulan Sorular
Kod Uygulaması
def bandwidth_delay_product(bandwidth_mbps: float, rtt_ms: float) -> dict:
"""
Calculate Bandwidth-Delay Product (BDP).
BDP = Bandwidth × RTT
This represents the amount of data in transit (in flight) at any time.
"""
bandwidth_bps = bandwidth_mbps * 1_000_000
rtt_sec = rtt_ms / 1000
bdp_bits = bandwidth_bps * rtt_sec
bdp_bytes = bdp_bits / 8
bdp_kb = bdp_bytes / 1024
bdp_mb = bdp_kb / 1024
# Recommended TCP window size (2x BDP for headroom)
tcp_window_bytes = int(bdp_bytes * 2)
return {
"bdp_bits": int(bdp_bits),
"bdp_bytes": int(bdp_bytes),
"bdp_kb": round(bdp_kb, 2),
"bdp_mb": round(bdp_mb, 4),
"tcp_window_recommended_bytes": tcp_window_bytes,
"tcp_window_recommended_kb": round(tcp_window_bytes / 1024, 1),
}
# Examples
scenarios = [
("Home broadband", 100, 20),
("Transatlantic fiber", 1000, 70),
("Satellite internet", 50, 600),
("Data center", 10_000, 1),
]
for name, bw, rtt in scenarios:
r = bandwidth_delay_product(bw, rtt)
print(f"{name} ({bw} Mbps, {rtt}ms RTT):")
print(f" BDP: {r['bdp_kb']:.1f} KB ({r['bdp_mb']:.2f} MB)")
print(f" Recommended TCP window: {r['tcp_window_recommended_kb']:.0f} KB")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.