예제 스크린샷과 오래된 링크를 업데이트하기 위해 2024년 2월 25일에 업데이트되었습니다.
앱이 원활하게 실행되도록 하려면 시스템 로드를 모니터링하는 것이 필수적입니다. AppSignal의 호스트 지표는 시스템의 로드 평균에 대한 통찰력을 제공합니다. , 여러 시간 동안 시스템에 얼마나 많은 부하가 걸렸는지 보여줍니다. top와 같은 도구를 사용하여 이 측정항목을 확인할 수도 있습니다. , uptime 및 w :
하지만 "부하 평균"은 정확히 무엇을 의미하며, 이 수치를 어떻게 해석해야 할까요? 이 게시물에서는 시스템 로드를 분석하고 로드 평균을 읽는 방법을 설명하며 이를 효과적으로 모니터링하는 방법을 보여 드리겠습니다.
부하 평균이란 무엇인가요?
부하 평균은 일반적으로 uptime의 예와 같이 세 개의 숫자로 표시됩니다. 위. 결과 끝에 있는 세 개의 숫자는 지난 1분간의 평균 부하(0.44)를 나타냅니다. ), 지난 5분 동안(0.28 ) 및 마지막 15개(0.25) ).

AppSignal에서는 지난 12시간 동안의 로드 평균이 분 단위로 표시되고 더 오랜 기간 동안은 시간 단위로 표시됩니다. Time Detective를 통해 언제든지 더 자세히 알아볼 수 있으며 호스트 지표 대시보드를 사용하여 실시간으로 호스트를 비교할 수 있습니다.
시스템 로드
이러한 로드 평균이 우리에게 알려주는 내용(및 경고 시기)을 이해하려면 먼저 시스템 로드가 무엇인지 이해해야 합니다. 의미와 측정 방법.
시스템 로드는 본질적으로 주어진 시간에 활성화된 프로세스의 수입니다:
- 유휴 상태일 때 부하는 0입니다. .
- 프로세스가 시작되면 로드가 1 증가합니다. .
- 프로세스가 완료되면 로드가 1 감소합니다. .
로드에는 CPU 시간을 기다리는 프로세스도 포함됩니다. 따라서 한 프로세스가 CPU를 적극적으로 사용하고 있고 다른 두 프로세스가 대기열에 있는 경우 부하는 3입니다. .
수명이 짧은 프로세스로 인해 로드가 빠르게 변동합니다. 0에서 점프할 수 있습니다. 5까지 밀리초 단위로 빠르게 되돌아옵니다. 이러한 변동성으로 인해 시간 경과에 따른 평균 로드를 살펴보는 것이 더 유용하며, 이는 시스템이 얼마나 바쁜지 더 명확하게 보여줍니다.
로드 평균
이제 시스템 로드가 계산되는 방식을 알았으므로 로드 평균을 살펴볼 수 있습니다. 살펴본 바와 같이 시스템이 받는 로드는 일반적으로 시간 경과에 따른 평균으로 표시됩니다.
일반적으로 단일 코어 CPU는 한 번에 하나의 프로세스를 처리할 수 있습니다. 평균 로드가 1.0이라는 것은 하나의 코어가 항상 100% 사용 중임을 의미합니다. 로드 평균이 0.5로 떨어지면 CPU가 해당 시간의 50% 동안 유휴 상태인 것입니다.
로드 평균이 1.5로 올라가면 CPU는 항상 바쁜 반면 다른 프로세스는 평균적으로 전체 시간의 50%를 기다리고 있어 CPU가 처리할 수 있는 것보다 더 많은 작업을 수행하게 됩니다.
논리 프로세서
일반적인 경험 법칙은 로드 평균이 머신의 프로세서 수를 초과해서는 안 된다는 것입니다. 프로세서 수가 4개인 경우 로드는 일반적으로 4.0 미만으로 유지되어야 합니다.
이는 논리 프로세서와 관련이 있다는 점을 명심하세요. CPU의 실제 물리적인 대신. 하이퍼스레딩과 같은 소프트웨어 추상화로 인해 논리적 프로세서 또는 처리 스레드 수가 물리적 프로세서 코어 수보다 높을 수 있습니다.
Linux에서 논리 프로세서 수를 확인하려면 /proc/cpuinfo에 나열된 프로세서 수를 계산하세요. , 또는 다음을 사용하세요:
프로세서 라인 수를 자동으로 인쇄합니다. Mac에서는 sysctl으로 질문할 수 있습니다. 다음을 사용하여 직접 논리 프로세서 수를 확인하세요.
다중 논리 프로세서가 있는 시스템의 경우 더 많은 동시 프로세스를 실행할 수 있으므로 로드 평균이 더 높아질 수 있습니다. 2개의 CPU 코어가 있는 시스템에서 로드 평균 2.0은 두 CPU가 모두 100% 활용되었으며 평균적으로 2개의 프로세스가 활성화되었음을 의미합니다.
👋 Ruby 성능 모니터링 체크리스트에서 다른 Ruby(on Rails) 성능 기사를 살펴보세요.
부하 평균 읽기
절대적인 프로세스 수의 평균이므로 적절한 로드 평균이 얼마인지, 언제 경고해야 하는지 판단하는 것이 어려워 보일 수 있습니다. 일반적으로 각 CPU 코어는 한 번에 하나의 프로세스를 처리할 수 있으므로 시스템은 논리 프로세서당 1.0을 초과할 때까지 오버로드되지 않습니다. 하이퍼스레딩이 없는 듀얼 코어 시스템에서는 2.0이 됩니다.
일반적으로 로드 평균이 마지막 순간에 코어당 1.0을 초과하면 문제가 없지만 5분 또는 15분 평균 로드가 증가하면 문제가 있음을 나타낼 수 있습니다.
AppSignal로 호스트 모니터링
로드 평균을 이해하는 것은 앱을 건강하게 유지하는 데 중요합니다. 오류 추적, 이상 탐지, 로그 관리 등의 기능을 통해 AppSignal은 문제가 발생하기 전에 문제를 발견할 수 있도록 도와줍니다.
강력한 통찰력과 스마트 알림으로 앱을 모니터링하고 싶으십니까? 30일 무료 평가판을 시작하세요. 신용카드가 필요하지 않습니다.
질문이나 의견이 있으신가요? 알려주세요. 전문가가 귀하의 모니터링 질문에 답변해 드릴 것입니다!