가이드 개발 가이드

퍼포먼스 킬러를 찾아보세요

온라인 서비스의 성능 최적화는 거의 미신에 가까운 작업입니다. 프로그래머 그룹은 이해할 수 없는 수많은 코드에 직면하여 상대방이 CPU를 모두 사용하고 있는지 서로 추측했습니다. 로그를 기록하고 밤낮으로 방대한 로그를 살펴보며 성능 킬러를 찾는 데 많은 시간을 투자하세요.

그러나 fibjs를 사용하면 이것이 쉬워집니다. fibjs는 강력한 CPU와 메모리 프로파일러를 지원하고 사용이 매우 편리하기 때문입니다.

벌채 반출

fibjs에서 CPU 프로파일러를 시작하는 것은 매우 간단합니다. 시작할 때 옵션을 추가하기만 하면 됩니다 --prof. 기본 로그 간격은 1000ms 이며, 최적화가 심화될수록 보다 정밀하게 로그를 분석해야 하는데, 이 경우 --prof-interval간격을 설정하는 데 사용할 수 있습니다. 다음 예에서는 10ms마다 fibjs 작업 로그를 기록합니다.

1
fibjs --prof --prof-interval=10 main.js

로그 처리

작업이 정상적으로 종료되거나 ctrl_c를 사용하여 프로세스를 종료하면 현재 디렉터리에 로그 파일이 생성됩니다. 파일 이름은 입니다 fibjs-xxxx.log. 이때 --prof-process생성된 로그를 처리하는 데 사용할 수 있습니다.

1
fibjs --prof-process fibjs-xxxx.log prof.svg

작업이 완료된 후 브라우저를 사용하여 prof.svg를 열어 이 로그의 불꽃 그래프를 볼 수 있습니다. 교수 클릭하면 전체 크기 이미지를 볼 수 있습니다. 전체 크기 이미지에서 마우스를 조작하면 더 자세한 내용을 볼 수 있습니다. 정보: prof.svg .

화염 다이어그램 해석

생성된 Flame 그래프에서 각 색상 블록은 기록 지점을 나타내며, 색상 블록이 길수록 더 많이 기록되며, 각 선은 호출 스택의 레이어를 나타내며, 레이어가 많을수록 더 많은 레이어를 호출합니다. 거꾸로 배치되어 있으며, 컬러 블록이 낮을수록 기능이 독창적입니다.

컬러 블록에는 두 가지 유형이 있습니다. 하나는 빨간색이고 다른 하나는 파란색입니다. fibjs 프로파일러에서 빨간색은 JavaScript 작업을 나타내고 파란색은 io 작업 또는 기본 작업을 나타냅니다. 해결해야 할 문제에 따라 집중해야 할 영역이 달라집니다. 예를 들어 높은 CPU 사용량 문제를 해결해야 한다면 빨간색 블록에 주의해야 하며, 애플리케이션의 CPU 사용량이 낮지만 응답이 느린 경우 파란색 블록에 주의해야 합니다. 상단 근처의 색상 블록이 클수록 더 많은 주의와 최적화가 필요합니다.

👉【동기식 및 비동기식