Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GAE/Jで盛大に失敗する方法

mmorito
October 28, 2018

 GAE/Jで盛大に失敗する方法

mmorito

October 28, 2018
Tweet

More Decks by mmorito

Other Decks in Programming

Transcript

  1. - サーバー: - データベース: - キャッシュ: - その他: Google App

    Engine(Java) Datastore Memcache 魅了された者 登場人物
  2. 失敗① スピンアップ Frameworkなし : Slim3 : Slim3 + Struts(仮) : Slim3

    + Struts(仮) + アプリ : 約2.5s 約3.3s(+800ms) 約5s (+1700ms) 約10s (+5000ms) 開発速度重視のため
  3. - AppEngineの言語を  Java → Go に変更 - クライアントを JSP → Angular2系(SPA)に変更 -

    Datastoreの設計を見直し インデックス数が ゼロ に Memcacheのヒット率もキャッシュサイズも大幅アップ  - Serviceを分けてデプロイ。適切な  ディスパッチ を設定 バージョン2 スピンアップが約20msに サーバ処理時間は200ms以内に 基本構成 AppEngine / Datastore は変更せず
  4. - うまく動作しない、性能が出ないのは、 だいたいクラウドサービス側よりもアプリ側に原因がある場合が多い - 現在は、AppEngine にも 2nd Gen が登場し、 いろいろと過渡期のため、機能要件に応じて適切なプロダクトを

    選択していく必要がある - クラウドサービスならではのベストプラクティスやハマりどころ が存在するため、Slackとかで雑に質問してみると良いかも - なんにしても口座へのダメージ回避が最優先(性能改善にも繋がる) まとめ