パブリッククラウドを利用する際には、AWSのデータセンターとオンプレミスを接続するWANが性能の足を引っ張るケースもある。リクルートテクノロジーズの宮川典久氏(ITマネジメント1部 APソリューショングループ グループマネジャー)らのチームが、スマートフォン向けに毎秒1万数千件のプッシュ通知を配信するために構築した基盤も、WANの通信がボトルネックになった。

 基盤で実行する処理の流れはこうだ。アプリケーションサーバーがNoSQLのDBサービス(DynamoDB)から必要なデータを抽出し、データ形式を変換。変換データを外部サービスのプッシュ通知サーバーに送信する。その後、送信結果をNoSQLのDBに保存する。一連の処理のうち、AWSのデータセンターから外部サービスのプッシュ通知サーバーへとデータを送信するWANの部分が最も遅かった。

 主に二つの工夫を組み合わせて速度向上を図った。(1)HTTPコネクションの維持と、(2)データの一括送信である(図7)。

図7●WANの伝送遅延の影響を抑える二つの工夫
HTTPコネクションの維持とデータの一括送信によってWANにムダなデータが流れることを防ぎ、伝送遅延の影響を減らす
[画像のクリックで拡大表示]

 (1)のHTTPコネクションの維持とは、アプリケーションサーバーとプッシュ通知サーバーの間でデータ通信をするための準備作業の回数を減らす工夫である。Android OSのスマートフォン向けのプッシュ通知サーバーの外部サービスである「Google Cloud Messaging for Android(GCM)」は、データ通信にHTTPを利用する。HTTP通信では、アプリケーションサーバーとプッシュ通知サーバーとの間でコネクション確立という準備作業を行う。

 この作業のための通信が、本来やり取りしたいデータと別に発生する。また、準備作業でアプリケーションサーバーの負荷も高まる。準備作業の回数が多いほど、データ通信の実効速度が低下する。

 そこで宮川氏らのチームは、一度確立したHTTPコネクションを維持する「Keep-Alive」という仕組みを採用し、コネクションの切断回数を減らした。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。