Skip to main content
QUICK REVIEW

[論文レビュー] SOAP Serialization Performance Enhancement, Design And Implementation Of A Middleware

Behrouz Minaei‐Bidgoli, Saadat Parinaz|ArXiv.org|Nov 3, 2009
Distributed and Parallel Computing Systems参考文献 10被引用数 3
ひとこと要約

本稿では、SOAPウェブサービスにおける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%短縮された。
  • トリーベースのインデックス構造により、リクエストパラメータの検索時間がO(k)で実現された(kはパラメータ数)。
  • キャッシュにより、同一レスポンスに対する冗長なシリアル化が排除され、高負荷時におけるCPU使用率が顕著に低下した。
  • データ変更時にキャッシュレスポンスの更新を設定可能にすることで、システムはデータ整合性を維持した。
  • 既存のウェブサービスやクライント実装の変更なしに、パフォーマンス向上を達成した。
  • 同一パラメータセットの繰り返しリクエストを効率的に処理する点で、スケーラビリティと効率性を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。