가이드 개발 가이드

성능 킬러 찾기

온라인 서비스의 성능 최적화는 거의 미신입니다. 프로그래머 그룹은 이해할 수없는 많은 양의 코드에 직면했고 상대방이 모든 CPU를 사용하고 있는지 추측했습니다. 로그를 기록하는 데 많은 시간을 할애하고 밤낮으로 방대한 로그를 넘기면서 성능 킬러를 찾으십시오.

그러나 fibjs를 사용하면이 모든 것이 더 간단해질 것입니다. fibjs는 강력한 CPU 및 메모리 프로파일 러를 지원하기 때문에 사용이 매우 편리합니다.

로그

fibjs start cpu profiler는 매우 간단하며 시작 --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를 열고이 로그의 플레임 맵 교수 을 볼 수 있습니다. 클릭하여 전체 크기 사진을 볼 수 있으며, 전체 크기 사진에서 마우스를 사용하여 더 자세한 정보를 확인할 수 있습니다. : 교수 svg .

화염지도의 해석

생성 된 플레임 그래프에서 각 색상 블록은 기록 지점을 나타냅니다. 색상 블록이 길수록 더 많이 기록되었습니다. 각 선은 호출 스택의 레이어를 나타내며 레이어가 많을수록 더 많은 레이어가 호출됩니다. 거꾸로 배치하면 색상 블록이 낮을수록 원래 기능이 더 많아집니다.

색상 블록에는 두 가지 유형이 있습니다. 하나는 빨간색이고 다른 하나는 파란색입니다. fibjs의 프로파일 러에서 빨간색은 JavaScript 작업을 나타내고 파란색은 io 작업 또는 기본 작업을 나타냅니다. 해결해야하는 문제에 따라 집중해야하는 영역이 달라집니다. 예를 들어 높은 CPU 점유율 문제를 해결해야하는 경우이 시점에서 빨간색 블록에주의를 기울여야합니다. 응용 프로그램의 경우 CPU 점유율이 높지 않지만 응답이 느린 경우 파란색 블록에주의하십시오. 상단 근처의 색상 블록이 클수록 관심과 최적화가 더 중요합니다.

👉 [ 데스크톱 애플리케이션의 빠른 개발 ]