USB 포트의 평균 데이터 전송 속도를 찾는 프로그램을 작성하고 싶습니다. 어떻게 구현할 수 있나요?
제가 생각할 수 있는 유일한 방법은 USB 드라이브가 마운트된 경로에 대용량 파일을 작성하고 해당 프로세스에 시간이 얼마나 걸리는지 알아보는 것입니다. 이보다 더 좋은 방법이 있나요?
답변1
USB2는 이론적으로 480Mbit/Sec의 속도에 도달할 수 있습니다. 이는 (대략) 60Mbytes/Sec에 해당합니다. 하드 드라이브가 이 속도를 따라잡지 못하면 잘못된 결과를 얻게 됩니다.
한 가지 옵션은 1Gbit/Sec를 연결할 수 있다고 주장하는 USB 이더넷 어댑터를 구입/빌리는 것입니다. 스위치 케이블이나 1Gbit/sec 허브/스위치를 통해 1Gbit/sec 이더넷 포트가 있는 다른 컴퓨터에 연결하세요.
하나의 컴퓨터에서 실행합니다 nc -v -l -p 5000 > /dev/null
. 이는 포트 5000에서 수신 대기하고 수신된 모든 것을 /dev/null
.
반면에 실행하십시오 time yes|nc -v a.b.c.d 5000 >/dev/null
( a.b.c.d
원격 시스템의 IP 주소는 어디에 있습니까?). 이는 중지될 때까지 원격 시스템으로 전송되며 y
, 이때 전송된 데이터의 양과 time
소요된 시간을 인쇄합니다.
잠시 후(예: 10초 또는 20초) 전송 중지를 누르고 Ctl-C
속도를 알아보세요. nc
전송된 바이트 수를 인쇄하지만 비트가 필요할 수도 있다는 점을 기억하세요 .bits = 8 * bytes
-v
무슨 일이 일어나고 있는지 확인하려면 명령에 더 많은 을 추가해야 할 수도 있습니다.