내 문제는 다음과 같습니다.프로그램의 네트워크 트래픽 총량 측정
저는 많은 작은 프로그램이 있으며 네트워크를 통해 전송하는 많은 데이터를 알아야합니다. 통신에 tcp/ip가 사용됩니다. 항구와 ips는 미리 나에게 알려져있다.
기본적으로 난 단지 대신 시간 측정의
sent: 3.5 kB
received: 4.2 kB
같은 출력 뭔가, 길 "시간"측정 시간과 비슷한 전송 된 데이터를 측정 할 것입니다.
확실한 방법이 있지만 모든 패키지 중 하나 (예 : tcpdump
)와 같은 패키지를 사용하여 대화식으로 대역폭 사용률을 표시했습니다.
런타임을 통한 대역폭 측정을 단순히 합산하는 것이 inprecisice이므로 대역폭이 도움이되지 않습니다.
tcpdump
과 관련된 주된 문제점은 클라이언트에서 작업하고 있지만 서버에서만 캡처 할 수 있다는 것입니다. 그래서 시도 무엇
ssh -t server "sudo tcpdump > capture &"
time ./my-program
ssh -t server "sudo killall tcpdump"
./evaluate.sh capture
같은 접근 방식이다 그러나 이것은 분명히 끔찍하게 나쁜 내가 정말
은 현재 내가, 그 배쉬 스크립트 거대한 200 개 + 라인을 가지고 automize하는 방법을 모른다 이미 벤치 마크를위한 런타임을 측정합니다.