SlideShare una empresa de Scribd logo
1 de 19
실무로 배우는
시스템 성능 최적화
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

Más contenido relacionado

La actualidad más candente

Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2Andrew Sungjin Kim
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)Hyosung Jeon
 
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Minchul Jung
 
[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례NAVER D2
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구ByungJoon Lee
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석Daeyong Shin
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기Jongwon Kim
 
Mongodb 관리
Mongodb 관리Mongodb 관리
Mongodb 관리흥배 최
 
Apache ZooKeeper 로
 분산 서버 만들기
Apache ZooKeeper 로
 분산 서버 만들기Apache ZooKeeper 로
 분산 서버 만들기
Apache ZooKeeper 로
 분산 서버 만들기iFunFactory Inc.
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화Choonghyun Yang
 
분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기NAVER D2
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.Kris Jeong
 
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형Minchul Jung
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기PgDay.Seoul
 

La actualidad más candente (20)

Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
Infiniflux vs influxdb 비교 테스트 결과 2016 12월-v2
 
Cluster - spark
Cluster - sparkCluster - spark
Cluster - spark
 
Mongo db 복제(Replication)
Mongo db 복제(Replication)Mongo db 복제(Replication)
Mongo db 복제(Replication)
 
게이트단의 보안
게이트단의 보안게이트단의 보안
게이트단의 보안
 
Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작Ch1 일래스틱서치 클러스터 시작
Ch1 일래스틱서치 클러스터 시작
 
[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례[D2]thread dump 분석기법과 사례
[D2]thread dump 분석기법과 사례
 
주키퍼
주키퍼주키퍼
주키퍼
 
Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구Node.js를 사용한 Big Data 사례연구
Node.js를 사용한 Big Data 사례연구
 
InfiniFlux vs RDBMS
InfiniFlux vs RDBMSInfiniFlux vs RDBMS
InfiniFlux vs RDBMS
 
Mongodb 특징 분석
Mongodb 특징 분석Mongodb 특징 분석
Mongodb 특징 분석
 
FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기FIFA 온라인 3의 MongoDB 사용기
FIFA 온라인 3의 MongoDB 사용기
 
Mongodb cluster
Mongodb clusterMongodb cluster
Mongodb cluster
 
Mongodb 관리
Mongodb 관리Mongodb 관리
Mongodb 관리
 
Apache ZooKeeper 로
 분산 서버 만들기
Apache ZooKeeper 로
 분산 서버 만들기Apache ZooKeeper 로
 분산 서버 만들기
Apache ZooKeeper 로
 분산 서버 만들기
 
다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화다중성 확보, 시스템 안정화
다중성 확보, 시스템 안정화
 
분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기분산저장시스템 개발에 대한 12가지 이야기
분산저장시스템 개발에 대한 12가지 이야기
 
이것이 레디스다.
이것이 레디스다.이것이 레디스다.
이것이 레디스다.
 
Infiniflux introduction
Infiniflux introductionInfiniflux introduction
Infiniflux introduction
 
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기
 

Destacado

HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7HyeonSeok Choi
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장HyeonSeok Choi
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1HyeonSeok Choi
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6HyeonSeok Choi
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HyeonSeok Choi
 
Elastic search 클러스터관리
Elastic search 클러스터관리Elastic search 클러스터관리
Elastic search 클러스터관리HyeonSeok Choi
 
하둡완벽가이드 Ch9
하둡완벽가이드 Ch9하둡완벽가이드 Ch9
하둡완벽가이드 Ch9HyeonSeok Choi
 
Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정HyeonSeok Choi
 
HTTP 완벽가이드 6장.
HTTP 완벽가이드 6장.HTTP 완벽가이드 6장.
HTTP 완벽가이드 6장.HyeonSeok Choi
 
HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HyeonSeok Choi
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 

Destacado (20)

HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장
 
DDD Repository
DDD RepositoryDDD Repository
DDD Repository
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성
 
Bounded Context
Bounded ContextBounded Context
Bounded Context
 
DDD Start Ch#3
DDD Start Ch#3DDD Start Ch#3
DDD Start Ch#3
 
함수적 사고 2장
함수적 사고 2장함수적 사고 2장
함수적 사고 2장
 
HTTPS
HTTPSHTTPS
HTTPS
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장
 
Elastic search 클러스터관리
Elastic search 클러스터관리Elastic search 클러스터관리
Elastic search 클러스터관리
 
하둡완벽가이드 Ch9
하둡완벽가이드 Ch9하둡완벽가이드 Ch9
하둡완벽가이드 Ch9
 
Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정Java 초보자를 위한 hadoop 설정
Java 초보자를 위한 hadoop 설정
 
HTTP 완벽가이드 6장.
HTTP 완벽가이드 6장.HTTP 완벽가이드 6장.
HTTP 완벽가이드 6장.
 
HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.HTTP 완벽가이드 1장.
HTTP 완벽가이드 1장.
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
Pair RDD - Spark
Pair RDD - SparkPair RDD - Spark
Pair RDD - Spark
 
Learning spark ch1-2
Learning spark ch1-2Learning spark ch1-2
Learning spark ch1-2
 

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

운영체제 인트로
운영체제 인트로운영체제 인트로
운영체제 인트로Junnie Jobs
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensicsINSIGHT FORENSIC
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중ymtech
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재PgDay.Seoul
 
NDC 2015 마비노기 듀얼 패치 시스템
NDC 2015 마비노기 듀얼 패치 시스템NDC 2015 마비노기 듀얼 패치 시스템
NDC 2015 마비노기 듀얼 패치 시스템tcaesvk
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimGruter
 
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000Seoro Kim
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2YoungGun Na
 
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략K data
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows passwordINSIGHT FORENSIC
 
33기 여채린 "리눅스에 대한 소개"
33기 여채린 "리눅스에 대한 소개"33기 여채린 "리눅스에 대한 소개"
33기 여채린 "리눅스에 대한 소개"hyu_jaram
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdfSeokju Hong
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...SANG WON PARK
 
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱PgDay.Seoul
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arcNAVER D2
 
5. system level reversing
5. system level reversing5. system level reversing
5. system level reversingYoungjun Chang
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝Mungyu Choi
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용Seoro Kim
 

Similar a 실무로 배우는 시스템 성능 최적화 Ch8 (20)

운영체제 인트로
운영체제 인트로운영체제 인트로
운영체제 인트로
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
 
저장장치
저장장치저장장치
저장장치
 
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
 
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
[pgday.Seoul 2022] PostgreSQL구조 - 윤성재
 
NDC 2015 마비노기 듀얼 패치 시스템
NDC 2015 마비노기 듀얼 패치 시스템NDC 2015 마비노기 듀얼 패치 시스템
NDC 2015 마비노기 듀얼 패치 시스템
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
 
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
IBM Storage for AI - NVMe & Spectrum Scale 기술을 탑재한 ESS3000
 
운영체제 Sig2
운영체제 Sig2운영체제 Sig2
운영체제 Sig2
 
시큐어디스크 ECM
시큐어디스크 ECM시큐어디스크 ECM
시큐어디스크 ECM
 
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
[2016 데이터 그랜드 컨퍼런스] 2 1(빅데이터). 티맥스 빅데이터시대,더욱중요해진dw를위한어플라이언스전략
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows password
 
33기 여채린 "리눅스에 대한 소개"
33기 여채린 "리눅스에 대한 소개"33기 여채린 "리눅스에 대한 소개"
33기 여채린 "리눅스에 대한 소개"
 
쓰레드.pdf
쓰레드.pdf쓰레드.pdf
쓰레드.pdf
 
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...Apache kafka performance(throughput) - without data loss and guaranteeing dat...
Apache kafka performance(throughput) - without data loss and guaranteeing dat...
 
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
 
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
3.[d2 오픈세미나]분산시스템 개발 및 교훈 n base arc
 
5. system level reversing
5. system level reversing5. system level reversing
5. system level reversing
 
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
조대협의 서버 사이드 - 대용량 아키텍처와 성능튜닝
 
Object storage의 이해와 활용
Object storage의 이해와 활용Object storage의 이해와 활용
Object storage의 이해와 활용
 

Más de HyeonSeok Choi

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2HyeonSeok Choi
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2HyeonSeok Choi
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04HyeonSeok Choi
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
데이터 과학 입문 13장
데이터 과학 입문 13장데이터 과학 입문 13장
데이터 과학 입문 13장HyeonSeok Choi
 
데이터 과학 입문 5장
데이터 과학 입문 5장데이터 과학 입문 5장
데이터 과학 입문 5장HyeonSeok Choi
 
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위HyeonSeok Choi
 

Más de HyeonSeok Choi (11)

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
Elastic search 검색
Elastic search 검색Elastic search 검색
Elastic search 검색
 
Erlang
ErlangErlang
Erlang
 
데이터 과학 입문 13장
데이터 과학 입문 13장데이터 과학 입문 13장
데이터 과학 입문 13장
 
데이터 과학 입문 5장
데이터 과학 입문 5장데이터 과학 입문 5장
데이터 과학 입문 5장
 
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위
대용량아키텍처와성능튜닝 8장성능엔지니어링정의와범위
 

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

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