2015-01-15 6 views
2

내 문제는 다음과 같습니다.프로그램의 네트워크 트래픽 총량 측정

저는 많은 작은 프로그램이 있으며 네트워크를 통해 전송하는 많은 데이터를 알아야합니다. 통신에 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하는 방법을 모른다 이미 벤치 마크를위한 런타임을 측정합니다.

답변

0

최근 벤치마킹에서 필자는 System Activity Reporter (SAR -n)에서 LAN (및 WiFi) 트래픽을 추출했습니다. 유닉스 시대에는 시간과 같지만 성능 통계를 더한 timex 명령이있었습니다.

Receive rx, Transmit tx, Packets pck, kBytes kB, Second s 
32 samples of 15 seconds 

sar -n DEV 15 32 > sarLAN.txt 
Linux 3.6.11+ (raspberrypi)  11/13/13  _armv6l_  (1 CPU) 

12:28:11  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:28:26   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:28:26   eth0 2379.33 4569.33 125.83 6707.79  0.00  0.00  0.00 

12:28:26  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:28:41   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:28:41   eth0 2518.92 4849.10 133.20 7116.48  0.00  0.00  0.00 

12:28:41  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:28:56   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:28:56   eth0 2570.87 4930.40 135.89 7239.40  0.00  0.00  0.00 

12:28:56  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:29:11   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:29:11   eth0 2554.27 4902.67 135.05 7193.76  0.00  0.00  0.00 

12:29:11  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:29:26   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:29:26   eth0 2557.67 4904.00 135.22 7200.33  0.00  0.00  0.00 

12:29:26  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:29:41   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:29:41   eth0 2561.47 4926.00 135.40 7229.17  0.00  0.00  0.00 

12:29:41  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:29:56   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:29:56   eth0 4585.99 4631.51 4258.49 4997.67  0.00  0.00  0.00 

12:29:56  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:30:11   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:30:11   eth0 8790.71 3855.80 12874.08 295.61  0.00  0.00  0.00 

12:30:11  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:30:26   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:30:26   eth0 8897.89 3852.35 13031.29 294.89  0.00  0.00  0.00 

12:30:26  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:30:41   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:30:41   eth0 8777.32 3911.69 12855.82 299.43  0.00  0.00  0.00 

12:30:41  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:30:56   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:30:56   eth0 8723.85 3787.77 12768.92 289.70  0.00  0.00  0.00 

12:30:56  IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 
12:31:11   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00 
12:31:11   eth0 8636.87 3736.11 12646.58 285.77  0.00  0.00  0.00