Linux에서 Network I/O 확인

By 01/11/2018SQL on Linux

Linux에서 Network I/O 확인

 

  • Version : ubuntu

 

SQL Server Linux 버전 출시로 MS SQL DBA분들이 Linux에 대한 관심이 많이 높아졌다. 이번 팁에서는 Linux에서 SQL Server를 사용할때 알아두면 좋은 리눅스 팁을 공유한다. 이번 포스트는 Linux에서 Network I/O를 확인하는 방법이다.

 

[netstat]

네트워크 통계의 약자인 netstat 명령어는Windows 사용자에게도 잘 알려져있는 명령이다. 사용방법은 Windows와 거의 동일하지만 Linux에서는 이 명령을 사용하면 더 많은 정보를 얻을 수 있다.

netstat -i

 

-i 옵션은 네트워크 인터페이스를 나열한다. 이 명령을 사용하면 인터페이스 이름과 보내고 받은 패킷을 확인할 수 있다.

  • RX-OK / TX-OK : 정상적인 패킷 수
  • RX-ERR / TX-ERR : 체크섬 오류로 거부된 패킷 수
  • RX-DRP / TX-DRP : 전체 퍼버에서 누락된 패킷 수
  • RX-OVR / TX-OVR : 시스템이 바빠서 누락된 패킷 수

 

netstat -ltu

 

-ltu 옵션은 수신포트(l)를 TCP(t)와 UDP(u)로 표시한다. 또한 -p옵션을  (-ltup) 추가하면 수신 대기중인 프로그램이 표시 된다.

 

[slurm]

Slurm은 터미널 기반의 네트워크 모니터링 도구이다. 이 유틸리티 는 표준 배포와 함께 배포되지 않으므로 아래 명령을 사용하여 설치 해야 한다.

sudo apt-get install slurm

 

설치가 완료되었으면 모니터할 인터페이스 이름을 인수로 전달하여 명령어를 실행 한다. 예를 들어 enp0s3 인터페이스를 모니터링 할려면 다음과 같이 명령어를 실행 한다. (인터페이스 이름은 netstat -i 로 확인한다.)

slurm -i enp0s3

 

위 그림에서 보듯이 네트워크 활동을 표시하는 그래프가 상단 패널에, 텍스트 정보는 하단 패널에 나타난다.

 

[speedometer]

기본 배포에 포함되어 있지 않으므로 아래 명령어를 설치를 해야한다.

sudo apt-get install sppedometer

 

아래 명령어는 enp0s3 인터페이스의 RX/TX를 모니터링하는 명령이다.

speedometer -tx enp0s3 -rx enp0s3

 

여러 인터페이스를 모니터링 하려면 각각의 인터페이스명을 나열 한다.

speedometer -tx enp0s3 -rx enp0s3 -tx enp0s8 -tx enp0s8

 

[ifstat]

기본 배포에 포함되어 있지 않으므로 아래 명령어를 설치를 해야한다.

sudo apt-get install ifstat

 

명령을 실행하면 아래와 같이 네트워크 사용량이 지속적으로 나타난다.

 

[nethogs]

응용프로그래별로 네트워크 사용량을 확인할 때 편리 하다. 기본 배포에 포함되어 있지 않으므로 아래 명령어를 설치를 해야한다.

sudo apt-get install nethogs

 

위 그림에서 볼수 있듯이 PID, 사용자, 프로그램 별로 네트워크 사용량을 확인 할 수 있다. 이 유틸리티는 root 권한으로 실행 해야 한다.

 

[참고자료]

https://www.mssqltips.com/sqlservertip/4846/linux-administration-for-sql-server-dbas-checking-network-io/

 

2017-07-18 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

SQL Linux, Linux disk, 리눅스에서 네트워크 사용량 확인, SQL 2017, check network usage on Linux, netstat, slurm, speedometer, ifstat, network I/O

Leave a Reply