Skip to main content
QUICK REVIEW

[논문 리뷰] SOAP Serialization Performance Enhancement, Design And Implementation Of A Middleware

Behrouz Minaei‐Bidgoli, Saadat Parinaz|ArXiv.org|2009. 11. 03.
Distributed and Parallel Computing Systems참고 문헌 10인용 수 3
한 줄 요약

이 논문은 SOAP 웹 서비스에서 반복되는 요청에 대한 직렬화 오버헤드를 줄이기 위해 트라이 데이터 구조를 사용하여 동일한 요청에 대해 직렬화된 응답을 캐시하는 미들웨어 기반 최적화를 제안한다. 반복되는 응답의 중복 직렬화를 방지함으로써 기존 서비스 로직을 변경하거나 클라이언트 애플리케이션을 수정하지 않고도 응답 시간을 크게 향상시킨다 — 벤치마크 테스트에서 측정 가능한 성능 향상을 입증하였다.

ABSTRACT

The most straightforward way to improve performance of any system is to define the bottlenecks and think of ways to remove them. Web services are the inseparable part of any web application, as a result enhancing performance of web services will have a great effect on the overall performance of the system. The most widely used communication protocol in the web services model, SOAP, is a simple protocol for the exchange of messages. The serialization of large SOAP responses is a major performance bottleneck in a SOAP message exchange. Clearly, some web servers can expect to receive many similar messages for a particular web service as they share the same signature. The idea behind this paper is to avoid the redundant serialization stage of SOAP responses for request which have the same call parameters. The technique exploits the similarities between call parameters to improve web service Response Time by avoiding redundant serialization of the same response with the help of a middleware running on top of web server. The middleware will maintain a trie of incoming parameters for every set of current requests. This way request processing and serialization of the response of same requests will be done only once. In a nutshell, to serialize only the different responses is the simplest way to avoid extra work done by a serializer. It might worth noting that although our approach is to utilize the exact repeating portion parameters, the middleware can be configured to apply changes made to the result set of response to the serialized response being maintained in a trie to generate valid results.

연구 동기 및 목표

  • 반복되는 SOAP 응답 직렬화로 인한 성능 저하 문제를 해결하기 위해.
  • 동일한 매개변수를 가진 자주 호출되는 웹 서비스 연산에 대한 응답 시간을 줄이기 위해.
  • 기존 웹 서비스 코드를 수정하지 않고도 직렬화된 응답을 캐시할 수 있는 투명한 미들웨어를 설계하기 위해.
  • 요청 간 매개변수 유사성을 활용하여 중복 직렬화 작업을 최소화하기 위해.
  • 기본 데이터 변경 시 캐시된 응답과의 일관성을 유지하기 위해 구성 가능한 업데이트 메커니즘을 제공하기 위해.

제안 방법

  • 미들웨어는 들어오는 SOAP 요청을 가로채고, 각 서비스 엔드포인트에 대해 요청 매개변수를 인덱싱하기 위해 트라이 데이터 구조를 구축한다.
  • 매개변수의 유일한 조합마다, 시스템은 응답을 한 번만 직렬화하고 트라이에 캐시한다.
  • 동일한 매개변수를 가진 후속 요청은 직렬화된 응답을 캐시에서 가져와 직렬화 단계를 건너뛴다.
  • 기본 데이터가 변경될 경우 캐시된 응답을 구성 가능한 방식으로 업데이트함으로써 일관성을 유지할 수 있도록 지원한다.
  • 기존 웹 서버 위에서 투명하게 작동하며, 웹 서비스나 클라이언트 코드에 대한 변경이 필요하지 않다.
  • 효율적인 캐시 응답 그룹화 및 검색을 위해 매개변수 기반 키 메커니즘을 사용한다.

실험 결과

연구 질문

  • RQ1반복적으로 발생하는 요청이 있는 웹 서비스에서 SOAP 직렬화 오버헤드는 어떻게 줄일 수 있는가?
  • RQ2요청 매개변수 유사성 기반으로 직렬화된 응답을 효율적으로 캐시할 수 있는 데이터 구조는 무엇인가?
  • RQ3기존 웹 서비스나 클라이언트 코드를 수정하지 않고도 투명한 미들웨어가 응답 시간을 향상시킬 수 있는가?
  • RQ4기본 데이터가 변경될 경우 캐시된 응답은 어떻게 일관성 있게 유지할 수 있는가?
  • RQ5매개변수 기반 응답 캐싱을 통해 어떤 성능 향상을 달성할 수 있는가?

주요 결과

  • 벤치마크 테스트에서 요청 반복성이 높은 상황에서 미들웨어는 응답 시간을 최대 40% 감소시켰다.
  • 트라이 기반 색인 구조는 매개변수 수 k에 대해 O(k)의 검색 시간을 제공한다.
  • 캐시로 인해 동일한 응답에 대한 중복 직렬화가 제거되어 고부하 환경에서 CPU 사용량을 크게 줄였다.
  • 기본 데이터 변경 시 구성 가능한 업데이트 메커니즘을 통해 시스템은 데이터 일관성을 유지했다.
  • 기존 웹 서비스나 클라이언트 환경에 대한 변경 없이도 성능 향상을 달성했다.
  • 동일한 매개변수 조합을 가진 반복 요청을 효율적으로 처리할 수 있는 확장성과 효율성을 입증했다.

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

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

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

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