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 nginx
2. ngx-sample-lua-bt
스 택 정 보 를 캡 처 합 니 다 (이 도 구 는 특정한 파일 에 대응 하 는 줄 함수 의 상황 을 볼 수 있 습 니 다). 여기 서 저 는 위 에서 다운로드 한 openresty-systemtap-toolkit
과 FlameGraph
을 환경 변수 에 추 가 했 습 니 다.그 러 니까 그냥 명령 을 입력 하면 돼 요.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
를 열 면 화염 도 를 볼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.