テクノロジー

春なので、思いきってサーバーをAWSからGoogleComputeEngineに切り替えたらスゴい結果が出た


  • このエントリーをはてなブックマークに追加

awashima今回のシゴトLOVERSは、クウハッカーの開発を担当している粟島がお届けします。
技術的な部分でお役に立てる記事を提供出来るよう、頑張ります!


スタートアップ企業でかなりのシェアを占めているAWSですが、みなさんGoogleComputeEngineというサービスを知っていますか?

GoogleComputeEngineはGoogle製のIassサービスで、Googleの製品と同じインフラ上の仮想サーバーを利用出来るという点がメリットとなっています。

Cu-hackerではカレンダーデータを取得するのにgoogleAPIを利用していますが、今回はAWSとGoogleComputeEngineでサーバーからのAPI実行速度に違いが出るかを検証しました。

使用するインスタンス

使用するインスタンスは下記三つです。(カッコ内はリージョン)

GoogleComputeEngine(US)
AWS(Tokyo)
AWS(California)

リージョンの距離を考慮してAWSはTokyoとCaliforniaの二つを用意しました。

検証方法

サーバーから下記二つの処理を実行して、速度を検証します。(3回測定し平均を求めます)
二つともクウハッカーで利用しているGoogleAPIを使った処理です。

1.calendarList・・・ユーザーのカレンダーデータを取得する処理です
2.eventList・・・ユーザーのイベントデータを取得する処理です

測定

まずはcalendarListの測定値です。

GoogleComputeEngine(US)を使うことによって、AWS(Tokyo)と比較して、

約62%の時間削減を実現!

2.6倍の速度改善を実現することが出来ました。

calendarList

次にeventListの測定値です。

こちらでも約60%の時間削減に成功しました。速度改善効果は約2.4倍

こちらの処理はサーバー/API間での通信回数が多いため、calendarListに比べて時間が長く、体感でもかなり速度が変わりました。

eventList

結果

GoogleComputeEngineを利用することによって、サーバー/googleAPI間の処理速度を改善することが出来ました。

今回の検証はクライアント/サーバー間の通信速度は考慮していないので
下記のような方はGoogleComputeEngineを利用することで速度を改善出来る可能性があります。

1.クライアントからの一度の通信内で、サーバーから複数回GoogleAPIへのリクエストを送っている。
2.サーバーでのバッチ処理でgoogelAPIを利用している

googleAPIを利用したサービスを運営されている方はぜひ試してみてください。

今後、GoogleComputeEngineでもAsiaにリージョンが設置されることがあれば、クライアント/サーバー間も考慮した検証を行ってみたいと思います。

ちなみに、今回の対応によりクウハッカーがサクサク使えるようになっているんですが、どれくらい早くなったか試してみてください!


Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*