네트워크 대기 시간 측정 (Linux)


8

SNMP GET 요청에 대한 네트워크 대기 시간을 측정하고 싶습니다. time다양한 명령에 대한 타이밍 통계를 찾는 데 사용할 수 있는 무료 명령 행 도구 가 있습니다. 예를 들어 snmpget다음과 같은 방식 으로 사용할 수 있습니다 .

$ time snmpget -v 2c -c public 192.168.1.3 .1.3.6.1.2.1.2.2.1.10.2
IF-MIB::ifInOctets.2 = Counter32: 112857973

real    0m0.162s
user    0m0.069s
sys 0m0.005s

매뉴얼에 따르면 통계는 다음과 같이 구성됩니다.

  • 호출과 종료 사이의 경과 된 실시간

  • 사용자 CPU 시간 ( times (2)에
    의해 리턴 된 구조체 tms 의 tms_utime 및 tms_cutime 값 의 합계
    ),

  • 시스템 CPU 시간 ( times (2)에
    의해 리턴 된 구조체 tms 의 tms_stime 및 tms_cstime 값 의 합계
    )

보시다시피, 이러한 옵션 중 어느 것도 실제 네트워크 대기 시간을 측정 할 수 없습니다 (다른 프로그램 실행 시간 통계 제외). 그렇게 할 방법이 있습니까? 아마도 시간 도구를 사용하지 않고 일부 커널 핵을 사용합니까?

내 프로그램을 쓰기 시작하기 전에 물어보고 싶었다.

고마워, 피오트르

답변:


5

tcpdump(8)프로그램의 -ttt플래그는 당신이 필요 단지 수 있습니다 :

00:00:00.000031 IP haig.mdns > 224.0.0.251.mdns: 0 PTR (QM)? 1.0.168.192.in-addr.arpa. (42)
00:00:01.897031 IP haig.45240 > stackoverflow.com.www: Flags [F.], seq 866615166, ack 62506321, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0
00:00:00.000030 IP haig.45242 > stackoverflow.com.www: Flags [F.], seq 853537650, ack 61102072, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0
00:00:00.000019 IP haig.45243 > stackoverflow.com.www: Flags [F.], seq 863535366, ack 62086489, win 123, options [nop,nop,TS val 6026371 ecr 419296939], length 0

라인 시작 부분의 타임 스탬프는 이전 패킷 이후의 시간을 마이크로 초로 표시합니다. -t명령 줄에 다른 수를 지정 하면 절대 시간, 첫 번째 패킷 이후의 상대 시간 또는 패킷 간의 상대 시간을 얻을 수 있습니다.

시스템에서 쉽게 찾을 수 있기 때문에 임의의 mdn 및 웹 트래픽을 표시했습니다. tcpdump(8)관심있는 패킷 만 가져 오도록 SNMP 트래픽을 쉽게 필터링 할 수 있습니다 . 사용량이 많은 시스템에서 모든 트래픽을 덤프하면 부하 가 발생할 수 있으므로 좋은 방법 입니다.


-ttttt마지막 패킷 이후 마이크로 초를 표시하는 대신 추적 시작 이후 마이크로 초를 표시하는 것도 유용 할 수 있습니다.
Alex D

8

핑 시도 :

$ ping -U 192.168.1.3

핑 매뉴얼에서 :

-U 전체 사용자 간 지연 시간 (이전 동작)을 인쇄합니다. 일반적으로 핑은 네트워크 왕복 시간을 인쇄하며, 이는 DNS 장애로 인해 다른 기능을 할 수 있습니다.


답변 주셔서 감사하지만 SNMP get 요청과 관련된 대기 시간을 측정하고 싶습니다.

5

당신에게 프로그램과 함께 그동안 캡처 네트워크 트래픽 실행 tcpdump또는 wireshark. 요청 시간과 응답을 확인하고 간단한 빼기를 수행하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.