19
실실실 실실실 실실실 실실 실실실 Ch8. 실실 OS 실실실실 Part#2 실실실 Cecil

실무로 배우는 시스템 성능 최적화 Ch8

Embed Size (px)

Citation preview

Page 1: 실무로 배우는 시스템 성능 최적화 Ch8

실무로 배우는시스템 성능 최적화Ch8. 서버 OS 모니터링

Part#2아꿈사Cecil

Page 2: 실무로 배우는 시스템 성능 최적화 Ch8

•디스크•통합 모니터링 도구

Page 3: 실무로 배우는 시스템 성능 최적화 Ch8

디스크 사용량 분석• 디스크 사용률과 서비스 소요시간

• 디스크 성능의 핵심 항목• 파일 입출력 발생량과 용도

• 불필요한 입출력 제거나 감소 작업을 위해• 파일 시스템 여유율

• 공간 부족으로 인한 장애 발생을 방지하기 위해

Page 4: 실무로 배우는 시스템 성능 최적화 Ch8

디스크 소요시간• 대기시간 + 서비스 시간• 서비스 시간 성능 기준 ( 저자 기준 )

• 평상시 : 2 ~ 3ms 이내 ( 디스크 성능에 따라 5ms

이내 )

• 과부하시 : 20 ~ 30ms 이내

Page 5: 실무로 배우는 시스템 성능 최적화 Ch8

소요시간 - 모니터링( 리눅스 기준 )

• sar -dp (sysstat)

• iostat -x

소요시간 사용율

소요시간 사용율svctm: 삭제될 예정

Page 6: 실무로 배우는 시스템 성능 최적화 Ch8

• 프로세스별 사용 파일 목록 : lsof -p

• 프로세스별 입출력 모니터링 : strace -p

파일 입출력 발생량과 용도( 리눅스 기준 ) #1

파일 크기 사용중인 파일 목록

I/O 시스템 콜 모니터링

Page 7: 실무로 배우는 시스템 성능 최적화 Ch8

• 프로세스별 입출력 위치 확인 : pstack, jstack

• 시스템 모니터링• AIX 시스템 : filemon• 리눅스 : lsof

• 전체 프로세스가 사용하는 파일 목록 표시

파일 입출력 발생량과 용도( 리눅스 기준 ) #2

주기적으로 캡쳐하여반복해서 발생하는 IO 에 대하여 호출 부분 확인

Page 8: 실무로 배우는 시스템 성능 최적화 Ch8

파일시스템 여유율( 리눅스 기준 )

• df -h

Page 9: 실무로 배우는 시스템 성능 최적화 Ch8

유닉스 / 리눅스 디스크 관리• 논리 볼륨 관리자 (LVM) 가 파일 시스템에 대한 디스크

할당과 관리를 담당

Page 10: 실무로 배우는 시스템 성능 최적화 Ch8

디스크 구성 확인( 리눅스 기준 ) #1

• df: 파일 시스템과 논리 볼륨 확인

• lvdisplay: 논리 볼륨 목록

• vgscan: 볼륨 그룹 목록

논리 볼륨

마운트 디렉토리

볼륨 그룸

Page 11: 실무로 배우는 시스템 성능 최적화 Ch8

디스크 구성 확인( 리눅스 기준 ) #2

• pvdisplay: 물리 볼륨 목록

• vgdisplay -v: 볼륨 그룹 정보

Page 12: 실무로 배우는 시스템 성능 최적화 Ch8

• 일반 입출력 과정• I/O 요청 (Prog) -> 파일 버퍼 캐시에 로드 (OS) -> 데이터

전달 (Prog)

파일시스템의 입출력 방식 #1

Page 13: 실무로 배우는 시스템 성능 최적화 Ch8

• 비동기 입출력• 읽고 쓰는 작업이 백그라운드에서 실행 됨• 비동기 입출력을 담당하는 커널 프로세스가 존재

• 직접 입출력• 운영체제의 버퍼 캐시를 사용하지 않음• DB 의 경우 내부 캐시를 구현하고 있어 , 직접 입출력이 유리할 수 있음

• 동시 입출력• inode 락을 사용하지 않고 , 공유된 파일을 동시에 여러개의 스레드가 접근

가능• 오라클의 경우 내부에 쓰기 직렬화 알고리즘이 구현되어 있어 적용 가능

파일시스템의 입출력 방식 #2

Page 14: 실무로 배우는 시스템 성능 최적화 Ch8

스토리지

Page 15: 실무로 배우는 시스템 성능 최적화 Ch8

• RAID-0• 데이터를 여러 하드에 분산하여 저장• 성능이 뛰어 나지만 , 신뢰도가 낮음

• RAID-1• 데이터의 복제본을 별도의 하드에 저장• 안정성이 뛰어나지만 저장 공간이 2 배 필요

레이드 #1

< 출처 : http://www.dograt.com/2010/05/page/2>

Page 16: 실무로 배우는 시스템 성능 최적화 Ch8

• RAID-0+1• 0 적용후 1 을 적용

• RAID-1+0• 1 적용후 0 을 적용• 0 + 1 보다 장애 복구가 용이

레이드 #2

< 출처 : http://www.jigi.net/4177>

Page 17: 실무로 배우는 시스템 성능 최적화 Ch8

• RAID-4• 하나의 하드디스크에 패리티 정보를 저장• 읽기 성능은 빠르지만 , 쓰기 연산후 패리티 갱신이

필요• 패리티 하드가 병목의 원인

• RAID-5• 패리티 정보를 여러 하드에 저장• 4 와 비교하여 쓰기 빠름 , 읽기 느림

레이드 #3

< 출처 : https://en.wikipedia.org/wiki/Standard_RAID_levels>

Page 18: 실무로 배우는 시스템 성능 최적화 Ch8

통합 모니터링 도구( 리눅스 기준 )

• nmon• 실시간 모니터링 및 로깅 기능 제공하는 강력한 모니터링 도구

• 실시간 모니터링 모드 : nman -s <second> -b

• 기록 모드 : nmon -f -s <second> -m <directory] -< 모니터링 항목 옵션 >

• top• CPU, 메모리 , 스왑 , 프로세스 등 기본 모니터링 제공

Page 19: 실무로 배우는 시스템 성능 최적화 Ch8

•권문수 . 실무로 배우는 시스템 성능 최적화 . 경기도 파주시 위키 북스 , 2016.

References