OR 아 이 템 중 화염 도 사용

화염 도 소개openresty 에서 화염 도 를 사용 하 는 것 을 보 니 재 미 있 고 엄 살 도 부 리 며 유용 하 다.이 는 프로그램 성능 의 병목 을 신속하게 찾 아 프로그램의 호출 스 택 을 만 들 고 호출 스 택 의 각 부분 CPU 소 모 를 계산 하여 CPU 점용 이 높 고 메모리 누 출 등 문 제 를 쉽게 찾 을 수 있 습 니 다.오늘 자신의 이전 프로젝트 에서 테스트 를 해 보 았 는데, 아래 에 그림 을 붙 여 기념 으로 남 겼 다.
이 안 에는 색깔 을 보지 마라. 왜냐하면 색깔 은 무 작위 로 만들어 진 것 이기 때문에 아무런 의미 가 없다.화염 산 의 세로 높이 와 대응 하 는 길 이 를 봐 야 한다.세로 높이 는 함수 호출 스 택 의 깊이 를 나타 내 고 가로 길 이 는 이 함수 가 점용 CPU 하 는 비율 을 나타 낸다.
화염 도 도구 가 어떻게 설치 되 는 지 알 아 보 겠 습 니 다.
화염 도 설치
레 퍼 런 스http://kernelmaker.github.io/...
시스템 탭 설치
사실은 주로 커 널 탐지 도구 systemtap 를 설치 하 는 것 이다.(SystemTap 스 크 립 트 문 구 를 C 문 구 를 번역 하여 커 널 모듈 로 컴 파일 합 니 다. 모듈 을 불 러 온 후 시간 처리 체제 에 따라 실행 중인 Linux 시스템 에 대한 정 보 를 수집 합 니 다)
    1. yum install yum-utils
    2. yum install kernel-devel
    3. debuginfo-install kernel
    4. yum install systemtap

세 번 째 설치 에 실패 하면 커 널 버 전 번 호 를 사용 하여 해당 하 는 가방 을 찾 아 설치 하면 됩 니 다.완료 후 아래 명령 을 입력 하여 테스트 합 니 다.
    stap -ve 'probe begin { log("hello world") exit() }'

설치 에 성공 하면 이 렇 습 니 다.
openresty - systemtap - toolkit 다운로드systemtap 는 커 널 탐지 도구 일 뿐 openresty 에 만 사용 할 수 있 는 것 이 아니 라 스스로 스 크 립 트 를 써 서 매장 등 작업 을 해 야 한 다 는 것 을 알 아야 한다.그러나 춘 형 은 openresty-systemtap-toolkit 에서 직접 사용 할 수 있 는 스 크 립 트 를 많이 제 공 했 습 니 다. 우 리 는 직접 가 져 와 서 사용 하면 됩 니 다. 왜냐하면 저 는 쓸 줄 모 르 기 때 문 입 니 다.
FlameGraph 다운로드
openresty-systemtap-toolkit 이 스 크 립 트 를 사용 한 후에 우 리 는 우리 가 필요 로 하 는 정 보 를 얻 을 수 있 지만 직관 적 이지 못 하기 때문에 우 리 는 FlameGraph 화염 도 생 성 도구 로 직관 적 인 그림 을 만들어 야 한다.
사용 예시
1. 우리 가 감시 할 nginx 의 특정한 프로 세 스 를 찾 습 니 다 ps -ef | grep nginx2. ngx-sample-lua-bt 스 택 정 보 를 캡 처 합 니 다 (이 도 구 는 특정한 파일 에 대응 하 는 줄 함수 의 상황 을 볼 수 있 습 니 다). 여기 서 저 는 위 에서 다운로드 한 openresty-systemtap-toolkitFlameGraph 을 환경 변수 에 추 가 했 습 니 다.그 러 니까 그냥 명령 을 입력 하면 돼 요.
ngx-sample-lua-bt -p 19075 --luajit20 -t 5 > temp.bt

3. fix-lua-bt 를 사용 하여 위 에서 얻 은 파일 을 더욱 우호 적 으로 전환 합 니 다 (대응 하 는 lua 함수 직접 보기)
fix-lua-bt temp.bt > a.bt 

4. 아래 두 개 FlameGraph 의 명령 을 사용 하여 파일 을 svg 그림 으로 변환 합 니 다.
stackcollapse-stap.pl a.bt > a.cbt
flamegraph.pl a.cbt > a.svg

그리고 a.svg 를 열 면 화염 도 를 볼 수 있 습 니 다.

좋은 웹페이지 즐겨찾기