Upload
hyeonseok-choi
View
312
Download
6
Embed Size (px)
Citation preview
실무로 배우는시스템 성능 최적화Ch8. 서버 OS 모니터링
Part#2아꿈사Cecil
•디스크•통합 모니터링 도구
디스크 사용량 분석• 디스크 사용률과 서비스 소요시간
• 디스크 성능의 핵심 항목• 파일 입출력 발생량과 용도
• 불필요한 입출력 제거나 감소 작업을 위해• 파일 시스템 여유율
• 공간 부족으로 인한 장애 발생을 방지하기 위해
디스크 소요시간• 대기시간 + 서비스 시간• 서비스 시간 성능 기준 ( 저자 기준 )
• 평상시 : 2 ~ 3ms 이내 ( 디스크 성능에 따라 5ms
이내 )
• 과부하시 : 20 ~ 30ms 이내
소요시간 - 모니터링( 리눅스 기준 )
• sar -dp (sysstat)
• iostat -x
소요시간 사용율
소요시간 사용율svctm: 삭제될 예정
• 프로세스별 사용 파일 목록 : lsof -p
• 프로세스별 입출력 모니터링 : strace -p
파일 입출력 발생량과 용도( 리눅스 기준 ) #1
파일 크기 사용중인 파일 목록
I/O 시스템 콜 모니터링
• 프로세스별 입출력 위치 확인 : pstack, jstack
• 시스템 모니터링• AIX 시스템 : filemon• 리눅스 : lsof
• 전체 프로세스가 사용하는 파일 목록 표시
파일 입출력 발생량과 용도( 리눅스 기준 ) #2
주기적으로 캡쳐하여반복해서 발생하는 IO 에 대하여 호출 부분 확인
파일시스템 여유율( 리눅스 기준 )
• df -h
유닉스 / 리눅스 디스크 관리• 논리 볼륨 관리자 (LVM) 가 파일 시스템에 대한 디스크
할당과 관리를 담당
디스크 구성 확인( 리눅스 기준 ) #1
• df: 파일 시스템과 논리 볼륨 확인
• lvdisplay: 논리 볼륨 목록
• vgscan: 볼륨 그룹 목록
논리 볼륨
마운트 디렉토리
볼륨 그룸
디스크 구성 확인( 리눅스 기준 ) #2
• pvdisplay: 물리 볼륨 목록
• vgdisplay -v: 볼륨 그룹 정보
• 일반 입출력 과정• I/O 요청 (Prog) -> 파일 버퍼 캐시에 로드 (OS) -> 데이터
전달 (Prog)
파일시스템의 입출력 방식 #1
• 비동기 입출력• 읽고 쓰는 작업이 백그라운드에서 실행 됨• 비동기 입출력을 담당하는 커널 프로세스가 존재
• 직접 입출력• 운영체제의 버퍼 캐시를 사용하지 않음• DB 의 경우 내부 캐시를 구현하고 있어 , 직접 입출력이 유리할 수 있음
• 동시 입출력• inode 락을 사용하지 않고 , 공유된 파일을 동시에 여러개의 스레드가 접근
가능• 오라클의 경우 내부에 쓰기 직렬화 알고리즘이 구현되어 있어 적용 가능
파일시스템의 입출력 방식 #2
스토리지
• RAID-0• 데이터를 여러 하드에 분산하여 저장• 성능이 뛰어 나지만 , 신뢰도가 낮음
• RAID-1• 데이터의 복제본을 별도의 하드에 저장• 안정성이 뛰어나지만 저장 공간이 2 배 필요
레이드 #1
< 출처 : http://www.dograt.com/2010/05/page/2>
• RAID-0+1• 0 적용후 1 을 적용
• RAID-1+0• 1 적용후 0 을 적용• 0 + 1 보다 장애 복구가 용이
레이드 #2
< 출처 : http://www.jigi.net/4177>
• RAID-4• 하나의 하드디스크에 패리티 정보를 저장• 읽기 성능은 빠르지만 , 쓰기 연산후 패리티 갱신이
필요• 패리티 하드가 병목의 원인
• RAID-5• 패리티 정보를 여러 하드에 저장• 4 와 비교하여 쓰기 빠름 , 읽기 느림
레이드 #3
< 출처 : https://en.wikipedia.org/wiki/Standard_RAID_levels>
통합 모니터링 도구( 리눅스 기준 )
• nmon• 실시간 모니터링 및 로깅 기능 제공하는 강력한 모니터링 도구
• 실시간 모니터링 모드 : nman -s <second> -b
• 기록 모드 : nmon -f -s <second> -m <directory] -< 모니터링 항목 옵션 >
• top• CPU, 메모리 , 스왑 , 프로세스 등 기본 모니터링 제공
•권문수 . 실무로 배우는 시스템 성능 최적화 . 경기도 파주시 위키 북스 , 2016.
References