네트워크 속도 추정기
브라우저 fetch 타이밍으로 네트워크 레이턴시와 다운로드 속도를 추정.
레이턴시
—
ms
다운로드 속도
—
Mbps
결과는 브라우저 fetch 타이밍을 기반으로 한 추정치이며 네트워크 상태에 따라 다를 수 있습니다.
자주 묻는 질문
코드 구현
def estimate_transfer_time(file_size_mb: float, speed_mbps: float, efficiency: float = 0.85) -> dict:
"""
Estimate file transfer time.
file_size_mb: file size in megabytes
speed_mbps: connection speed in megabits per second
efficiency: real-world factor (0.0–1.0), default 0.85
"""
file_bits = file_size_mb * 8 # convert MB to Mb
effective_speed = speed_mbps * efficiency
seconds = file_bits / effective_speed
return {
"seconds": round(seconds, 2),
"minutes": round(seconds / 60, 2),
"hours": round(seconds / 3600, 4),
}
# Common connection speeds (Mbps)
speeds = {
"3G": 7.2,
"4G LTE": 50,
"5G": 400,
"Wi-Fi 5": 600,
"Ethernet 1G": 1000,
}
file_size_gb = 1.0
file_size_mb = file_size_gb * 1024
print(f"File size: {file_size_gb} GB ({file_size_mb} MB)")
for name, speed in speeds.items():
result = estimate_transfer_time(file_size_mb, speed)
print(f"{name:15s} @ {speed:>6} Mbps: {result['seconds']:>8.1f}s ({result['minutes']:.1f} min)")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.