대규모 클라우드 컴퓨팅 환경에서는 작은 성능 저하라도 막대한 리소스 낭비로 이어질 수 있습니다. Meta는 이러한 미묘한 성능 문제를 효과적으로 감지하고 해결해야 하는 과제에 직면해 있습니다. 이를 위해 Meta AI팀은 생산 환경에서 극히 작은 성능 회귀를 0.005%의 정확도로 감지할 수 있는 시스템인 FBDetect를 개발했습니다. Downcodes의 편집자가 FBDetect의 작동 원리와 놀라운 결과를 자세히 소개합니다.
대규모 클라우드 인프라 관리에서는 작은 성능 저하라도 상당한 리소스 낭비로 이어질 수 있습니다. 예를 들어 Meta와 같은 회사에서는 애플리케이션의 0.05% 속도 저하가 별것 아닌 것처럼 보일 수 있지만 수백만 대의 서버가 동시에 실행되는 경우 이 작은 지연으로 인해 최대 수천 대의 서버가 낭비될 수 있습니다. 따라서 이러한 사소한 성능 저하를 적시에 발견하고 해결하는 것은 Meta에게는 큰 과제입니다.
이 문제를 해결하기 위해 Meta AI는 0.005%만큼 작은 성능 회귀도 포착할 수 있는 생산 환경용 성능 회귀 탐지 시스템인 FBDetect를 출시했습니다. FBDetect는 수백 개의 서비스와 수백만 개의 서버와 관련된 처리량, 대기 시간, CPU 및 메모리 사용량과 같은 여러 지표를 포괄하는 약 800,000개의 시계열을 모니터링할 수 있습니다. 전체 서버 클러스터에 걸쳐 스택 추적 샘플링과 같은 혁신적인 기술을 사용함으로써 FBDetect는 미묘한 서브루틴 수준 성능 차이를 포착할 수 있습니다.
FBDetect는 주로 서브루틴 수준 성능 분석에 중점을 두고 있으며, 이를 통해 감지 난이도를 0.05% 애플리케이션 수준 회귀에서 보다 쉽게 식별할 수 있는 5% 서브루틴 수준 변경으로 줄일 수 있습니다. 이 접근 방식은 노이즈를 크게 줄여 변경 사항 추적을 더욱 실용적으로 만듭니다.
FBDetect의 기술적 핵심은 세 가지 주요 측면으로 구성됩니다. 첫째, 서브루틴 수준의 회귀 검출을 통해 성능 데이터의 분산을 줄여 작은 회귀를 시간에 따라 식별할 수 있습니다. 둘째, 시스템은 전체 서버 클러스터에 걸쳐 스택 추적 샘플링을 수행하여 대규모 환경의 성능 분석과 유사하게 각 서브루틴의 성능을 정확하게 측정합니다. 마지막으로, 감지된 각 회귀에 대해 FBDetect는 근본 원인 분석을 수행하여 회귀가 일시적인 문제, 비용 변경 또는 실제 코드 변경으로 인해 발생했는지 확인합니다.
실제 생산 환경에서 7년간의 테스트를 거친 후 FBDetect는 강력한 간섭 방지 기능을 갖추고 있으며 잘못된 회귀 신호를 효과적으로 필터링할 수 있습니다. 이 시스템의 도입으로 개발자가 조사해야 하는 사고 건수가 크게 줄어들 뿐만 아니라 메타 인프라의 효율성도 향상됩니다. FBDetect는 작은 회귀를 감지함으로써 Meta가 연간 약 4,000대의 서버에서 리소스 낭비를 방지하도록 돕습니다.
수백만 대의 서버를 보유한 Meta와 같은 대기업에서는 성능 회귀를 감지하는 것이 특히 중요합니다. 고급 모니터링 기능을 통해 FBDetect는 사소한 회귀 식별 속도를 향상시킬 뿐만 아니라 개발자에게 효과적인 근본 원인 분석 방법을 제공하여 적시에 잠재적인 문제를 해결함으로써 전체 인프라의 효율적인 운영을 촉진합니다.
논문 입구: https://tangchq74.github.io/FBDetect-SOSP24.pdf
FBDetect의 성공 사례는 대기업에 귀중한 경험을 제공하고 미래 성능 모니터링 시스템 개발을 위한 새로운 방향을 제시합니다. 효율적인 리소스 활용과 정확한 회귀 감지 기능은 업계에서 참고하고 학습할 가치가 있습니다. 이와 같은 보다 혁신적인 기술이 등장하여 기업이 클라우드 인프라를 더 잘 관리하고 최적화하는 데 도움이 되기를 바랍니다.