ݺߣ

ݺߣShare a Scribd company logo
2019.02.22
Stack 분석 활용 사례
Session
발표자 목차
Stack 분석 활용 사례
와탭랩스 1. 개요
2. 와탭 vs Others
3. A사 redis 병목 구간 식별
4. B사 포멧팅 로직의 CPU 점유
5. C사 Host Lookup 지연
6. D사 디버깅로그로 인한 성능 지연
7. 타사 APM 에이전트 성능 측정
1-1.
송재진
- 3 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
1. 개요
Stack 분석 활용 사례
다른 APM도 보여주고, 와탭도 보여주는 것들
SQL도 아니
고,
User 01
HTTPC 외부 호출 URL도 아니
고,
File I/O도 아닌데
…
나머지 영역에 대한
와탭의 기술!
응답시간이 왜 이렇게 많이 차지하는
걸까?
URL 응답시간 SQL 시간 HTTPC 시간
/exampleServlet.do 1000ms 1ms 1ms
- 4 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
2. 와탭 vs Others
타사의 모니터링 툴로는 장애/성능지연 발생시 명확한 위치가 판별이 안되는 경우 프로파일 수정과 대기를 반복해왔습니다.
Stack 분석 활용 사례
장애 발생 장애 분석
프로파일 설정 장애 원인 파악장애 재발생
장애 원인 파악
개발자
(프로그램 분석)
WhaTap의 방식
- 5 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
3. A사 redis 병목 구간 식별
Stack 분석 활용 사례
...
profile profile
ActiveStack
ActiveStack
경과 : 프로파일 설정 없이 와탭 적용만으로 병목 구간이 Redis 에 있음을 확인
10,255 /ovey/WEB-INF/tiles/mobile/surveylayout.jsp 9,211 /ovey/WEB-INF/tiles/mobile/baselayout.jsp
org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:229)
문제 글로벌 서비스로 성장하면서 기존의 레거시와 신규 시스템이 공존하여 시스템 복잡도 증가로 서비스 병목 지점을 찾기가 어려워 짐
현황 VisualVM, Observium, Graylog, ELK stack 등 다양한 모니터링을 도입, 메모리를 비롯한 서버 비용에 대한 부담이 증가
시스템 모니터링을 위한 개발자와 전담 모니터링 인력을 할당할 여력 없음
- 6 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
4. B사 포멧팅 로직의 CPU 점유
Stack 분석 활용 사례
 Active Stack을 활용하여 공통 모듈에서 특정 메소드를 과도하게 호출하는 현상을 발견하여 수정 권고
 수정 후 Peak CPU 사용량 15% 감소
java.lang.StringBuffer.append(StringBuffer.java:246)
문제 시스템이 주말이나 연휴 후, 요청 건수가 증가하면서 높은 CPU 사용량으로 인해 주기적으로 서비스 재기동을 하는 불안정한 상태
현황 타 APM 솔루션으로 분석하여 조회량이 많은 URL 몇개의 로직을 변경함. (조회 건수를 줄임) ➜ 부분적 효과는 있었지만 근본 원인 파
악 불가
- 7 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
5. C사 Host Lookup 지연
Stack 분석 활용 사례
 catalina.sh 에 -Djava.net.preferIPv4Stack=true (IPv4 먼저 쓸래요) 추가
 트랜잭션 평균 응답시간 20% 감소 (120ms -> 97ms)
Case – IPv6 Lookup
문제 명확한 원인을 알 수 없는 서비스 지연이 지속 발생하는 상황에서 기존의 프로파일 방식으로는 의심되는 지점을 찾을 수 없기에 N/W
등 외부 시스템 병목을 의심하는 상황
현황 스택 통계를 통해 IPv6 Address LookUp을 우선함에 따른 원인과 영향도 확인 ➜ 관련 설정 수정으로 해소
- 8 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
6. D사 디버깅로그로 인한 성능 지연
Stack 분석 활용 사례
Case – Debug Log
 Thread Parking 의 높은 점유 비율과 원인이 부적절한 Logging 설정에 있음을 확인
문제 로그 양의 적정성 여부와 로그로 인한 성능 저하가 어느 정도인지 가늠할 수 없음
현황 전체 수행에서 모니터링 에이전트가 점유하는 비율을 확인함으로 성능에 미치는 영향과 개선효과를 예측할 수 있음
- 9 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc.
6. 타사 APM 에이전트 성능 측정
Stack 분석 활용 사례
Case – 타 APM 부하
com.newrelic.agent.Transaction.getTransaction(Transaction.java:1342)
 궁금하지만 아무도 알려주지 않는, 알 방법도 없었던 성능 정보를 와탭으로 확인할 수 있습니다.
문제 기존 APM 에이전트가 유발하는 성능 저하를 측정할 수 없음
현황 전체 수행에서 로그가 점유하는 비율을 확인함으로 성능에 미치는 영향과 개선효과를 예측할 수 있음

More Related Content

What's hot (20)

12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
Siva Rama Krishna Chunduru
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
Kubernetes Probes (Liveness, Readyness, Startup) IntroductionKubernetes Probes (Liveness, Readyness, Startup) Introduction
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
AkhmadZakiAlsafi
Apache tomcat
Apache tomcatApache tomcat
Apache tomcat
Shashwat Shriparv
Multi cluster management with rancher
Multi cluster management with rancherMulti cluster management with rancher
Multi cluster management with rancher
Kyohei Mizumoto
Session 5 - NGSI-LD Advanced Operations | Train the Trainers Program
Session 5 -  NGSI-LD Advanced Operations | Train the Trainers ProgramSession 5 -  NGSI-LD Advanced Operations | Train the Trainers Program
Session 5 - NGSI-LD Advanced Operations | Train the Trainers Program
FIWARE
Flexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongFlexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with Kong
Sven Bernhardt
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
VMware Tanzu
An introduction to Apache Thrift
An introduction to Apache ThriftAn introduction to Apache Thrift
An introduction to Apache Thrift
Mike Frampton
Firebase Auth Tutorial
Firebase Auth TutorialFirebase Auth Tutorial
Firebase Auth Tutorial
Bukhori Aqid
Multi tenant architecture
Multi tenant architectureMulti tenant architecture
Multi tenant architecture
Eastern Software Systems
Apache sqoop with an use case
Apache sqoop with an use caseApache sqoop with an use case
Apache sqoop with an use case
Davin Abraham
Openstack 101
Openstack 101Openstack 101
Openstack 101
Kamesh Pemmaraju
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
Mohammed Fazuluddin
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Vietnam Open Infrastructure User Group
Actuation, Federation and Interoperability of Context Brokers
Actuation, Federation and Interoperability of Context BrokersActuation, Federation and Interoperability of Context Brokers
Actuation, Federation and Interoperability of Context Brokers
FIWARE
Multi Tenancy In The Cloud
Multi Tenancy In The CloudMulti Tenancy In The Cloud
Multi Tenancy In The Cloud
rohit_ainapure
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
NGINX, Inc.
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
Tessa Mero
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
Kubernetes Probes (Liveness, Readyness, Startup) IntroductionKubernetes Probes (Liveness, Readyness, Startup) Introduction
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
AkhmadZakiAlsafi
Multi cluster management with rancher
Multi cluster management with rancherMulti cluster management with rancher
Multi cluster management with rancher
Kyohei Mizumoto
Session 5 - NGSI-LD Advanced Operations | Train the Trainers Program
Session 5 -  NGSI-LD Advanced Operations | Train the Trainers ProgramSession 5 -  NGSI-LD Advanced Operations | Train the Trainers Program
Session 5 - NGSI-LD Advanced Operations | Train the Trainers Program
FIWARE
Flexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with KongFlexible, hybrid API-led software architectures with Kong
Flexible, hybrid API-led software architectures with Kong
Sven Bernhardt
Building Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build ServiceBuilding Kubernetes images at scale with Tanzu Build Service
Building Kubernetes images at scale with Tanzu Build Service
VMware Tanzu
An introduction to Apache Thrift
An introduction to Apache ThriftAn introduction to Apache Thrift
An introduction to Apache Thrift
Mike Frampton
Apache sqoop with an use case
Apache sqoop with an use caseApache sqoop with an use case
Apache sqoop with an use case
Davin Abraham
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Room 3 - 7 - Nguyễn Như Phúc Huy - Vitastor: a fast and simple Ceph-like bloc...
Vietnam Open Infrastructure User Group
Actuation, Federation and Interoperability of Context Brokers
Actuation, Federation and Interoperability of Context BrokersActuation, Federation and Interoperability of Context Brokers
Actuation, Federation and Interoperability of Context Brokers
FIWARE
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
Jo Hoon
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple StepsUnderstanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
Tessa Mero
Microservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and JenkinsMicroservices with Docker, Kubernetes, and Jenkins
Microservices with Docker, Kubernetes, and Jenkins
Red Hat Developers

Similar to 스택 분석 활용 사례 (송재진) (20)

장애 분석 절차 (서영일)
장애 분석 절차 (서영일)장애 분석 절차 (서영일)
장애 분석 절차 (서영일)
WhaTap Labs
Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개
Mee Nam Lee
DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)
WhaTap Labs
API Design & Performance Optimization_ݺߣShare.pdf
API Design & Performance Optimization_ݺߣShare.pdfAPI Design & Performance Optimization_ݺߣShare.pdf
API Design & Performance Optimization_ݺߣShare.pdf
seojung19
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
IMQA
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
ABRC_DATA
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
형석 김
600.Troubleshooting Patterns
600.Troubleshooting Patterns600.Troubleshooting Patterns
600.Troubleshooting Patterns
Opennaru, inc.
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
Ji-Woong Choi
DB 모니터링 신규 & 개선 기능 (박명규)
DB 모니터링 신규 & 개선 기능 (박명규)DB 모니터링 신규 & 개선 기능 (박명규)
DB 모니터링 신규 & 개선 기능 (박명규)
WhaTap Labs
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
Ji-Woong Choi
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Javajigi Jaesung
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우
IMQA
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
YoungSu Son
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
ServerDevCamp
Application Monitoring 신규 기능 소개 (서영일)
Application Monitoring 신규 기능 소개 (서영일)Application Monitoring 신규 기능 소개 (서영일)
Application Monitoring 신규 기능 소개 (서영일)
WhaTap Labs
장애 분석 절차 (서영일)
장애 분석 절차 (서영일)장애 분석 절차 (서영일)
장애 분석 절차 (서영일)
WhaTap Labs
Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개Oracle Application Performance Monitoring Cloud Service 소개
Oracle Application Performance Monitoring Cloud Service 소개
Mee Nam Lee
DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)DB Monitoring 개념 및 활용 (박명규)
DB Monitoring 개념 및 활용 (박명규)
WhaTap Labs
API Design & Performance Optimization_ݺߣShare.pdf
API Design & Performance Optimization_ݺߣShare.pdfAPI Design & Performance Optimization_ݺߣShare.pdf
API Design & Performance Optimization_ݺߣShare.pdf
seojung19
[IMQA] performance consulting
[IMQA] performance consulting[IMQA] performance consulting
[IMQA] performance consulting
IMQA
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
[중소기업형 인공지능/빅데이터 기술 심포지엄] 대용량 거래데이터 분석을 위한 서버인프라 활용 사례
ABRC_DATA
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
오픈 소스를 활용한 게임 배치 플랫폼 개선 사례
형석 김
[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To[오픈소스컨설팅]Performance Tuning How To
[오픈소스컨설팅]Performance Tuning How To
Ji-Woong Choi
DB 모니터링 신규 & 개선 기능 (박명규)
DB 모니터링 신규 & 개선 기능 (박명규)DB 모니터링 신규 & 개선 기능 (박명규)
DB 모니터링 신규 & 개선 기능 (박명규)
WhaTap Labs
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
Ji-Woong Choi
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
[PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System [PYCON Korea 2018] Python Application Server for Recommender System
[PYCON Korea 2018] Python Application Server for Recommender System
Kwangseob Kim
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Scala, Spring-Boot, JPA의 불편하면서도 즐거운 동거
Javajigi Jaesung
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
SU BO KIM
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우
IMQA
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
YoungSu Son
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
ServerDevCamp
Application Monitoring 신규 기능 소개 (서영일)
Application Monitoring 신규 기능 소개 (서영일)Application Monitoring 신규 기능 소개 (서영일)
Application Monitoring 신규 기능 소개 (서영일)
WhaTap Labs

More from WhaTap Labs (13)

[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
WhaTap Labs
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
WhaTap Labs
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
WhaTap Labs
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
WhaTap Labs
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
WhaTap Labs
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
WhaTap Labs
Cloud for Kubernetes : Session5
Cloud for Kubernetes : Session5Cloud for Kubernetes : Session5
Cloud for Kubernetes : Session5
WhaTap Labs
Cloud for Kubernetes : Session4
Cloud for Kubernetes : Session4Cloud for Kubernetes : Session4
Cloud for Kubernetes : Session4
WhaTap Labs
Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3
WhaTap Labs
Cloud for Kubernetes : Session2
Cloud for Kubernetes : Session2Cloud for Kubernetes : Session2
Cloud for Kubernetes : Session2
WhaTap Labs
Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1
WhaTap Labs
스타트업 개발자가 알아야할 서비스 운영지식
스타트업 개발자가 알아야할 서비스 운영지식스타트업 개발자가 알아야할 서비스 운영지식
스타트업 개발자가 알아야할 서비스 운영지식
WhaTap Labs
프로세스 모니터링 (남형석)
프로세스 모니터링 (남형석)프로세스 모니터링 (남형석)
프로세스 모니터링 (남형석)
WhaTap Labs
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
[WhaTap DevOps Day] 세션 5 : 금융 Public 클라우드/ Devops 구축 여정
WhaTap Labs
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
[WhaTap DevOps Day] 세션 2 : 성장하는 엔지니어 학습 문화
WhaTap Labs
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
[WhaTap DevOps Day] 세션 1 : Observability Practice on AWS
WhaTap Labs
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
[WhaTap DevOps Day] 세션 6 : 와탭랩스 DevOps 이야기
WhaTap Labs
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
[WhaTap DevOps Day] 세션 3 : 클라우드와 개발자, 모놀리틱부터 오케스트레이션까지
WhaTap Labs
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
[WhaTap DevOps Day] 세션 4 : 롯데ON MSA 모니터링 최적화 사례
WhaTap Labs
Cloud for Kubernetes : Session5
Cloud for Kubernetes : Session5Cloud for Kubernetes : Session5
Cloud for Kubernetes : Session5
WhaTap Labs
Cloud for Kubernetes : Session4
Cloud for Kubernetes : Session4Cloud for Kubernetes : Session4
Cloud for Kubernetes : Session4
WhaTap Labs
Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3Cloud for Kubernetes : Session3
Cloud for Kubernetes : Session3
WhaTap Labs
Cloud for Kubernetes : Session2
Cloud for Kubernetes : Session2Cloud for Kubernetes : Session2
Cloud for Kubernetes : Session2
WhaTap Labs
Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1
WhaTap Labs
스타트업 개발자가 알아야할 서비스 운영지식
스타트업 개발자가 알아야할 서비스 운영지식스타트업 개발자가 알아야할 서비스 운영지식
스타트업 개발자가 알아야할 서비스 운영지식
WhaTap Labs
프로세스 모니터링 (남형석)
프로세스 모니터링 (남형석)프로세스 모니터링 (남형석)
프로세스 모니터링 (남형석)
WhaTap Labs

스택 분석 활용 사례 (송재진)

  • 2. Session 발표자 목차 Stack 분석 활용 사례 와탭랩스 1. 개요 2. 와탭 vs Others 3. A사 redis 병목 구간 식별 4. B사 포멧팅 로직의 CPU 점유 5. C사 Host Lookup 지연 6. D사 디버깅로그로 인한 성능 지연 7. 타사 APM 에이전트 성능 측정 1-1. 송재진
  • 3. - 3 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 1. 개요 Stack 분석 활용 사례 다른 APM도 보여주고, 와탭도 보여주는 것들 SQL도 아니 고, User 01 HTTPC 외부 호출 URL도 아니 고, File I/O도 아닌데 … 나머지 영역에 대한 와탭의 기술! 응답시간이 왜 이렇게 많이 차지하는 걸까? URL 응답시간 SQL 시간 HTTPC 시간 /exampleServlet.do 1000ms 1ms 1ms
  • 4. - 4 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 2. 와탭 vs Others 타사의 모니터링 툴로는 장애/성능지연 발생시 명확한 위치가 판별이 안되는 경우 프로파일 수정과 대기를 반복해왔습니다. Stack 분석 활용 사례 장애 발생 장애 분석 프로파일 설정 장애 원인 파악장애 재발생 장애 원인 파악 개발자 (프로그램 분석) WhaTap의 방식
  • 5. - 5 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 3. A사 redis 병목 구간 식별 Stack 분석 활용 사례 ... profile profile ActiveStack ActiveStack 경과 : 프로파일 설정 없이 와탭 적용만으로 병목 구간이 Redis 에 있음을 확인 10,255 /ovey/WEB-INF/tiles/mobile/surveylayout.jsp 9,211 /ovey/WEB-INF/tiles/mobile/baselayout.jsp org.springframework.data.redis.connection.jedis.JedisConnectionFactory.fetchJedisConnector(JedisConnectionFactory.java:229) 문제 글로벌 서비스로 성장하면서 기존의 레거시와 신규 시스템이 공존하여 시스템 복잡도 증가로 서비스 병목 지점을 찾기가 어려워 짐 현황 VisualVM, Observium, Graylog, ELK stack 등 다양한 모니터링을 도입, 메모리를 비롯한 서버 비용에 대한 부담이 증가 시스템 모니터링을 위한 개발자와 전담 모니터링 인력을 할당할 여력 없음
  • 6. - 6 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 4. B사 포멧팅 로직의 CPU 점유 Stack 분석 활용 사례  Active Stack을 활용하여 공통 모듈에서 특정 메소드를 과도하게 호출하는 현상을 발견하여 수정 권고  수정 후 Peak CPU 사용량 15% 감소 java.lang.StringBuffer.append(StringBuffer.java:246) 문제 시스템이 주말이나 연휴 후, 요청 건수가 증가하면서 높은 CPU 사용량으로 인해 주기적으로 서비스 재기동을 하는 불안정한 상태 현황 타 APM 솔루션으로 분석하여 조회량이 많은 URL 몇개의 로직을 변경함. (조회 건수를 줄임) ➜ 부분적 효과는 있었지만 근본 원인 파 악 불가
  • 7. - 7 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 5. C사 Host Lookup 지연 Stack 분석 활용 사례  catalina.sh 에 -Djava.net.preferIPv4Stack=true (IPv4 먼저 쓸래요) 추가  트랜잭션 평균 응답시간 20% 감소 (120ms -> 97ms) Case – IPv6 Lookup 문제 명확한 원인을 알 수 없는 서비스 지연이 지속 발생하는 상황에서 기존의 프로파일 방식으로는 의심되는 지점을 찾을 수 없기에 N/W 등 외부 시스템 병목을 의심하는 상황 현황 스택 통계를 통해 IPv6 Address LookUp을 우선함에 따른 원인과 영향도 확인 ➜ 관련 설정 수정으로 해소
  • 8. - 8 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 6. D사 디버깅로그로 인한 성능 지연 Stack 분석 활용 사례 Case – Debug Log  Thread Parking 의 높은 점유 비율과 원인이 부적절한 Logging 설정에 있음을 확인 문제 로그 양의 적정성 여부와 로그로 인한 성능 저하가 어느 정도인지 가늠할 수 없음 현황 전체 수행에서 모니터링 에이전트가 점유하는 비율을 확인함으로 성능에 미치는 영향과 개선효과를 예측할 수 있음
  • 9. - 9 -Copyright © 2019 Whatap – Developed by WhaTap Labs Inc. 6. 타사 APM 에이전트 성능 측정 Stack 분석 활용 사례 Case – 타 APM 부하 com.newrelic.agent.Transaction.getTransaction(Transaction.java:1342)  궁금하지만 아무도 알려주지 않는, 알 방법도 없었던 성능 정보를 와탭으로 확인할 수 있습니다. 문제 기존 APM 에이전트가 유발하는 성능 저하를 측정할 수 없음 현황 전체 수행에서 로그가 점유하는 비율을 확인함으로 성능에 미치는 영향과 개선효과를 예측할 수 있음