데이터베이스 개발자 Tip & 강좌

SQLER의 개발자들이 만들어가는 데이터베이스 사용자 Tip & 강좌 게시판입니다. SQL서버, Oracle, MySQL 등 여러 클라우드/오픈소스 기반 데이터베이스 개발 및 운영 관련 팁과 쿼리 노하우를 이곳에서 가장 먼저 접하실 수 있습니다. 많은 도움 되시길 바랍니다.

Linux에서 DISK I/O 사용량 확인

 

·         Version : ubuntu

 

SQL Server Linux 버전 출시로 MS SQL DBA분들이 Linux 대한 관심이 많이 높아졌다이번 팁에서는 Linux에서 SQL Server 사용할때 알아두면 좋은 리눅스 팁을 공유한다.

 

DBA 역할  하나는 데이터베이스를 지원하는 스토리지 서브 시스템이 올바르게 작동하는지 확인하는 것이다동작을 확인하는 방법에는 DMV(Dynamic Management View) function sys.dm_io_pending_io_requests, sys.dm_io_virtual_file_stats 등이 있다하지만  정보로는 충분하지 않을  있다실제로 윈도우에서는 성능 이벤트를 사용하여 디스크 성능을 확인할  있으며외부 프로그램을 이용하여 성능 정보를 확인할   있다.

 

Linux에서 DISK I/O 사용량을 확인하기 위한 가장 기본 적인 방법은 iostat 명령이며 기본적으로 설치되는 도구이다.

Iostat

 

만약  도구가 설치되어 있지 않다면 sysstat 패키지를 설치하여 사용할  있다.

Sudo apt-get install sysstat

 


 

기본적으로  명령은 장치와 파티션에 대한  CPU  I/O 통계에 대한  개의 정보를 표시하지만 -c   –d 옵션을 사용하면 CPU 또는 Disk 정보만 표시하도록   있다.  위의 그림에서 보면 설치된 장치에 대해 초당 전송(tps), 초당 읽기   쓰기(KB), 읽기  쓰기의 (KB) 정보가 나타난다.

iostat 명령을 실행하면 명령이 실행된 순간의 데이터만 나타나지만 반복 시간을 설정하면 지정된 간격(초단위) 계속 정보를 표시할  있다아래 명령은 4 간격으로 Disk I/O 정보만 표시되록 한다.

Iostat –d 4

 


 

그림을 보면 4 간격으로 Disk I/O 데이터를 나타내며 읽기/쓰기에 대한 정보는 이전 실행값과 비교한 델타 값이 표시된다. [Ctrl + C] 누를때 까지 지정된 간격으로 데이터를 표시 한다.

 

Iostat 함께 –x 옵션을 사용하면  많은 정보를 보여준다가장 유용한 정보는 평균 대기열 길이  avgqu-sz 정보를 보여준다.

Iostat –xd

 


 

·         rrqm/s :  장치에 대기중인 초당  읽기 요청 

·         wrqm/s : 장치에 대기중인 초당  쓰기 요청 

·         r/s : 초당 읽기 요청 

·         w/s : 초당 쓰기 요청 

·         rkB/s : 초당 읽기 KB

·         wkB/s : 초당 쓰기 KB

·         avgrq-sz : 요청의 평균 크기(섹터 단위)

·         avgqu-sz : 요청의 평균 대기열 길이

·         await : I/O 요청의 평균 시간(ms).  정보는 대기열 요청 시간과 대기열에 대기하는  시간이 포함

·         r_await : 서비스 요청을 받은 장치에 대한 읽기 요청의 평균 시간(ms). 대기열 요청 시간과 대기열에 대기하는 시간이 포함

·         w_await : 장치에 제공되는 쓰기 요청의 평균 시간(ms).  정보는 대기열 요청 시간과 대기열에 대기하는 시간이 포함

·         svctm : 장치에 발급  I/O 요청의 평균 시간(ms) (향후 제거되므로 사용하지 말것)

·         %util : I/O 요청이 장치에 발급된 동안의 CPU %.  수치가 100% 가까울 수록  오버헤드 발생

 

Iotop 명령은 프로세스 또는 스레드당 I/O 사용량을 나타내며 htop 유틸리티와 비슷한 형식으로 표시 한다.

Iotop

 

만약 해당 명령문이 실행되지 않으면 package  설치 한다.

Sudo apt-get install iotop

 


 

 그림을 보면 DISK 대한 스왑  프로세스의  I/O 정보를 표시한다. Iotop 다양한 매개 변수를 사용하여  많은 정보를   있다.

·         -o : 모든 프로세스 또는 스레드를 표시하는 대신 실제로 I/O 수행하는 프로세스 또는 스레드만 표시

·         -b : 배치 모드로 작동시간 경과에 따른 I/O 사용량 로깅에 유용

·         -P : 프로세스만 표시 (일반적으로 iotop 모든 스레드를 표시)

·         -a : 누적된 I/O 대역폭 표시 모드는 iotop 시작된 이후에 수생한 I/O 프로세스의 양을 보여준다

 

Iotop 실행 상태에서 키보드 단축키를 사용하여 표시 방법를 변경할 수도 있다.

·         Left and right arrow(방향키) :  정렬 열을 변경

·         r : 정렬 순서를 반대로 표시

·         실제로 I/O 수행하는 프로세스 또는 스레드만 표시

·         p : 스레드 대신 프로세스 표시

·         a : 누적  I/O 대역푝 표시

·         I : 스레드 또는 프로세스의 우선순위  변경

 

2017-06-08 / 강성욱 / http://sqlmvp.kr

 

SQL Linux, Linux disk i/o, 리눅스에서 DISK 사용량 체크, SQL 2017, check disk usage on Linux, iostat, iotop, disk performance



강성욱 / jevida@naver.com

Microsoft SQL Server MVP

Blog : http://sqlmvp.kr

Facebook : http://facebook.com/sqlmvp




No. Subject Author Date Views
2110 SQL Server 2016 Large RAM 및 Checkpoint jevida(강성욱) 2018.03.31 2070
2109 SQL Server 2016 JSON 형식을 일반 ROW 형식으로 반환하 jevida(강성욱) 2018.03.31 1650
2108 model Database 손상시 발생하는 영향 및 복구 방법 jevida(강성욱) 2018.03.31 1183
2107 In-Memory OLTP 사용시 메모리 할당량 초과 오류 jevida(강성욱) 2017.09.13 6748
2106 SQL Server 2016 쿼리 실행에 대한 각 스레드(오퍼레이터) 성능 통계 jevida(강성욱) 2017.09.13 7051
2105 Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점 jevida(강성욱) 2017.09.13 5911
2104 SQL Linux에서 Job Agent 설치 jevida(강성욱) 2017.09.13 5951
2103 SQL Linux에서 Windows SQL 백업 파일 복원 jevida(강성욱) 2017.09.13 5918
2102 Linux에서 Network I/O 확인 jevida(강성욱) 2017.09.13 6314
2101 SQL Linux에서traceflag 활성화 jevida(강성욱) 2017.09.13 5632
2100 SQL Linux에서 dump file 위치 변경 jevida(강성욱) 2017.09.13 5403
2099 SQL Linux에서 Port 변경 jevida(강성욱) 2017.09.13 6215
2098 Linux에서 DISK 공간 확인 jevida(강성욱) 2017.09.13 5610
2097 SQL Linux에서collation 변경 jevida(강성욱) 2017.09.13 3531
2096 SQL Linux에서 데이터 및 로그 파일의 기본 디렉토리 변경 jevida(강성욱) 2017.09.13 3868
2095 SQL Linux 기본Configure 명령 jevida(강성욱) 2017.09.13 3407
2094 SQL Linux에서 기본 백업 디렉토리 변경 jevida(강성욱) 2017.09.13 3834
» Linux에서 DISK I/O 사용량 확인 jevida(강성욱) 2017.09.13 3713
2092 Linux에서 CPU 사용량 확인 jevida(강성욱) 2017.09.13 2217
2091 SQL Linux에서 SQL Server 시작, 중지, 활성, 비활성 jevida(강성욱) 2017.09.13 1452





XE Login