2017-06-08 19 views
2

バッチタスクのためにAWS ECSでタスクを実行するために使用しています。Amazon AWS ECSタスクの遅延

タスクが保留中の開始になり、実行中の状態に移行するのに10秒かかることがあります。実行を開始するために保留中の状態間で の実行を開始するには5分かかることがあります。

5分遅れの問題を防ぐために何ができますか? 「ウォームアップ」手順の設定や種類はありますか?

+1

プルしなければならない画像を変更すると、タスクを実行するのに時間がかかりません。画像が重すぎると、応答時間に影響する可能性があります。あなたはそれをチェックしましたか? – German

+0

はい、私の画像サイズは〜1ギガではありませんが、ほとんどの場合、実行を開始するまでには最大10秒かかる場合があり、時には1.5〜5分遅れの問題に直面しました。これは、同じイメージが走っている間の大きな違いです。 –

答えて

0

遅延は、基本イメージがダウンロードされていないコンテナインスタンスからタスクが開始されるためです。

  1. Nはあなたのクラスタを持っているインスタンスの数であると同時に、タスクのN数を、開始することで、あなたのインスタンスをプリロード:あなたはこれを助けるためにできることがいくつかあります。これにより、イメージが各コンテナインスタンスにダウンロードされ、後続のタスクの開始時間が大幅に改善されます。
  2. スループットの高い大きなインスタンスにアップグレードすることで、インスタンスのネットワークスループットを向上させます。 the 'Amazon EC2 Instance Configuration' pageに各インスタンスの種類の内訳が表示されます。あなたは遅延に対するコストの増加を測る必要があります。
  3. イメージサイズを小さくします。
+1

もう1つは、ベースイメージを使用することです。ほとんどの場合、1 GBのイメージは、500 MBの基本OSと250 MBのシステムライブラリで構成され、コンテナのすべてのバージョンに共通です。これらをすべてのコンテナで再利用されるベースイメージとしてプリベーキングすることができます。そのため、タスクをデプロイするたびに、そのリビジョンで実際に異なる250 MBのカスタムコードをプルダウンするだけで済みます。これにより、タスクの起動を大幅に高速化できます。 – nathanpeck

関連する問題