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