넷플릭스 사례를 통해 배우는 False Sharing

Heechul Yoon·2025년 1월 8일
0

이 글은 2022년 10월에 넷플릭스 기술블로그에 올라온 사례를 통해 False Sharing 문제를 찾아가는 과정과 해결방법에 관해서 다룬다. (출처: Seeing through hardware counters: a journey to threefold performance increase)

배경

넷플릭스 개발팀에서 특정 서버의 처리량 증가를 위해서 인스턴스를 16vCPU 에서 48vCPU로 이전해야했다. 언제나 cpu 를 증가시킨다고 처리량이 선형으로 증가하는건 아니지만 (worker 들이 critical section 을 두고 병렬처리를 하는 구조가 아닌걸로 추측) 이 서버는 cpu 스케일업이 처리량의 선형적 증가를 가져올것이라 기대했다고 한다.

현상

vCPU를 3배가량 올렸지만 처리량(RPS) 의 증가는 25% 정도였고, 오히려 CPU 사용률 변동이 커지게 되고, CPU 사용률 변동이 클 때 워커가 cpu 할당을 받기위한 지연시간도 늘어났다.

(CPU 사용률이 올라가고, 지연시간은 늘어나고 처리량은 기대에 못미치기 때문에 critical section free 한 워크로드를 제대로 처리하고 있지 못하다고 판단한거 같습니다.)

profile
Quit talking, Begin doing

0개의 댓글