45

新しい柔軟なアプリ エンジン ランタイムを試しています。この場合、Google が提供する Ruby ランタイムに基づくカスタム Ruby on Rails ランタイムです。

プロセス全体の起動に約 8 分かかる場合gcloud preview app deploy、そのほとんどは「サービスの更新」です。これは正常ですか?さらに重要なことに、どうすれば高速化できますか?

よろしく、

4

6 に答える 6

37

はい、それはまったく正常です。展開手順のほとんどはコンピューターから離れた場所で行われ、コードベースのサイズとは無関係であるため、プロセスを高速化するためにできることはあまりありません。

App Engine にアプリをデプロイするためのさまざまな手順は、次のように分類できます。

  1. app.yaml から情報を収集して、デプロイ全体を理解する
  2. コードを収集し、app.yaml で指定された Docker イメージを使用して、コードで Docker イメージをビルドします
  3. コンピューティング インスタンス、ネットワーク/ファイアウォール ルールのプロビジョニング、インスタンスへの Docker 関連ツールのインストール、Docker イメージのインスタンスへのプッシュと起動
  4. すべてのデプロイが成功したことを確認し、ヘルスチェックを開始し、必要に応じて負荷を転送/分散します。

ほとんどの時間がかかる唯一のプロセスは、展開が成功したことを確認し、トラフィックの取り込みを開始するために必要なすべてのチェックを行う最後の部分です。コードのサイズ (コンテナーを作成するためのコードのアップロード) とリソースの要件 (カスタム リソースのプロビジョニング) によっては、ステップ 2 と 3 にもう少し時間がかかる場合があります。

分析を行うと、最後のステップで約 70% の時間が費やされていることがわかります。このステップでは、可視性が最も低くなりますが、app-engine にすべての重労働を実行する機能を与える重要なプロセスです。

于 2016-06-08T01:16:22.580 に答える
16

同じバージョンにデプロイすると、その後のデプロイで 6 分から 3 分になりました。

例:

$ gcloud app deploy app.yaml --version=test
于 2016-10-19T11:07:55.137 に答える
4

Make sure you check what is in the zip it's uploading (it tells you the location of this on deploy), and make sure your yaml skip_files is set to include things like your .git directory if you have one, and node_modules

于 2017-10-06T15:20:14.573 に答える
1

後続のデプロイは 8 分よりもはるかに高速であることに注意してください。App Engine Flex で Node.js を使用した私のテストでは、通常 1 分以内です。

于 2016-06-08T13:11:16.880 に答える