Skip to main content
QUICK REVIEW

[논문 리뷰] Dissecting Service Mesh Overheads

Xiangfeng Zhu, Guozhen She|arXiv (Cornell University)|2022. 07. 02.
Cloud Computing and Resource Management인용 수 6
한 줄 요약

이 논문은 서비스 메시 오버헤드를 별개의 구성 요소(예: IPC, 소켓 쓰기, 프로토콜 파싱)로 모델링함으로써 성능 오버헤드를 체계적으로 분석하는 구성형 성능 분 析 도구인 MeshInsight를 소개한다. 이 도구는 구성 설정과 워크로드에 따라 오버헤드가 크게 달라지며, 최대 185%의 지연 증가와 92%의 CPU 사용량 증가를 보이며, HTTP/gRPC 모드에서는 프로토콜 파싱이 주요 원인이 되고, TCP 모드에서는 IPC 및 소켓 운영이 주요 원인이 된다는 것을 드러낸다.

ABSTRACT

Service meshes play a central role in the modern application ecosystem by providing an easy and flexible way to connect different services that form a distributed application. However, because of the way they interpose on application traffic, they can substantially increase application latency and resource consumption. We develop a decompositional approach and a tool, called MeshInsight, to systematically characterize the overhead of service meshes and to help developers quantify overhead in deployment scenarios of interest. Using MeshInsight, we confirm that service meshes can have high overhead -- up to 185% higher latency and up to 92% more virtual CPU cores for our benchmark applications -- but the severity is intimately tied to how they are configured and the application workload. The primary contributors to overhead vary based on the configuration too. IPC (inter-process communication) and socket writes dominate when the service mesh operates as a TCP proxy, but protocol parsing dominates when it operates as an HTTP proxy. MeshInsight also enables us to study the end-to-end impact of optimizations to service meshes. We show that not all seemingly-promising optimizations lead to a notable overhead reduction in realistic settings.

연구 동기 및 목표

  • 다양한 구성 설정과 애플리케이션 워크로드를 대상으로 서비스 메시의 성능 오버헤드를 체계적으로 특성화하는 것.
  • 사이드카 프록시에서 오버헤드의 주요 기여 요소(예: IPC, 소켓 운영, 프로토콜 파싱)를 규명하는 것.
  • 전체 구성 배포 없이도 종단 간 성능 영향을 추정할 수 있도록 돕는 것.
  • 유닉스 도메인 소켓과 제로 코피 쓰기와 같은 최적화 기술이 서비스 메시 성능에 실질적으로 미치는 영향을 평가하는 것.
  • 기능과 성능 간의 상호 교환을 고려한 의사결정을 내릴 수 있도록 서비스 메시 및 애플리케이션 개발자들을 안내하는 것.

제안 방법

  • 사이드카 프록시 운영을 독립된 구성 요소로 분해: 읽기, 쓰기, IPC, 프로토콜 파싱.
  • 종단 간 오버헤드를 추정하기 위해 호출 그래프, 요청 빈도, 메시지 크기를 사용하여 애플리케이션 워크로드를 모델링.
  • 실제 Envoy 사이드카 배포를 기반으로 구성 요소 수준의 오버헤드를 측정하고 정량화하는 측정 기반 접근 방식을 활용.
  • 다양한 서비스 메시 구성 설정(예: TCP, HTTP, gRPC 모드)에서 사이드카 동작을 인스트루멘터 및 프로파일링하기 위한 툴체인을 사용.
  • Linux 커널 기능(유닉스 도메인 소켓, 제로 코피 쓰기)을 적용하여 성능 향상 효과를 평가.
  • 구성 요소 수준 측정값과 워크로드 모델을 조합하여 전체 시스템 성능 영향을 전체 배포 없이 예측하는 것.

실험 결과

연구 질문

  • RQ1다양한 구성 설정에서 서비스 메시 사이드카의 주요 지연 및 CPU 오버헤드 원인은 무엇인가?
  • RQ2애플리케이션 고유의 특성(예: 요청 빈도, 메시지 크기, 호출 그래프)은 서비스 메시 성능에 어떻게 영향을 미치는가?
  • RQ3일반적인 최적화(예: 유닉스 도메인 소켓, 제로 코피 I/O)는 실세계 환경에서 종단 간 오버헤드를 어느 정도 감소시키는가?
  • RQ4다른 프록시 모드에서 프로토콜 파싱 오버헤드는 시스템 수준 운영(예: IPC, 소켓 I/O)과 비교해 어떻게 다른가?
  • RQ5전체 배포 없이도 구성형 모델링 접근 방식이 종단 간 성능을 정확하게 예측할 수 있는가?

주요 결과

  • 서비스 메시 오버헤드는 구성 설정과 애플리케이션에 따라 크게 달라지며, 지연은 30–185% 증가하고 CPU 사용량은 41–92% 증가한다.
  • HTTP/gRPC 모드에서는 프로토콜 파싱이 총 오버헤드의 62–73%를 차지하여 주요 성능 저하 원인이 된다.
  • TCP 모드에서는 IPC 및 소켓 쓰기 운영이 오버헤드의 주요 기여 요소로 작용하여 성능 비용을 지배한다.
  • 개별 필터는 기본 오버헤드에 3–85%의 추가 지연을 유발할 수 있어, 필터 효율성의 변동성이 높음을 시사한다.
  • 유닉스 도메인 소켓과 제로 코피 쓰기와 같은 최적화는 오버헤드를 감소시키지만, 실세계 영향은 맥락에 따라 달라지며 항상 유리한 것은 아니다.
  • 동일한 구성 설정에서도 다양한 애플리케이션 간 오버헤드가 수개의 주기수에 이르게 달라지므로, 애플리케이션 인식 기반의 성능 분 析가 필수적이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.