eBPF 보안 에이전트, 메모이제이션으로 CPU 비용 90% 절감
원제 Dropping eBPF CPU Cost by About 90% with Memoization (Not AI Gen)
149 포인트댓글 29
Key Point
eBPF 기반 보안 솔루션의 성능 최적화 기법으로, 커널 공간에서의 경로 탐색 오버헤드를 90% 줄인 메모이제이션 아이디어는 고성능 보안 에이전트 개발에 참고할 수 있다.
핵심 요약
- 파일 접근 시 정책 적용 여부를 판단하기 위해 매번 전체 경로를 탐색하던 eBPF 보안 에이전트를 개선했다.
- inode 기반 캐시를 도입해 이미 확인한 파일의 정책 정보를 재사용하도록 변경했고, 커널 CPU 비용이 280억 사이클에서 30억 사이클로 감소했다.
- 캐시 키는 마운트 네임스페이스 ID, 마운트 ID, inode 번호 3개 필드로 구성하며, LRU 해시맵에 저장한다.
- 하드링크로 인해 여러 경로가 같은 inode를 가리키는 경우, 캐시 정확성을 위해 해당 엔트리를 사용하지 않고 느린 경로로 대체한다.
- 프로필링 결과 캐시 히트 시 경로 탐색 함수들의 CPU 점유율이 각각 60~80%대에서 0.02% 수준으로 감소했다.