2

EBS ディスクの代わりに EFS (AWS NFS 実装) を使用するように Jenkins ビルド サーバーを再構成することで、パフォーマンスを大幅に改善できるかどうか疑問に思っています。

EFS は 1 ギガバイトあたり約 3 倍の費用がかかりますが、実際のコストはおそらく 2 倍ほど高くなるにすぎません。これは、EFS ではすべての費用を支払うのに対し、EFS では使用済みスペースに対してのみ支払うためです。

また、EFS にはもう 1 つの非常に重要な利点があります。それは、アップグレードのために何かをダウンさせることなく拡張できることです。EBS ディスクのサイズ変更は、ダウンタイムを伴う時間のかかる操作です。

この質問はコストに関するものではなく、パフォーマンスに関するものです。ビルド速度を 20% 向上させることができれば、ストレージ コストは明らかに克服されます (後でメンテナンスが少なくて済むという利点は言うまでもありません)。

4

2 に答える 2

3

Jenkins のホーム ディレクトリ (ワークスペースを含む) を格納するために AWS EFS を使用しようとした私の試みの中間結果を次に示します。

私の間違いは、EFS パフォーマンスに関するこのよく隠されたページを見逃していたことです。要約すると、EFS に大量のデータを保存したくない場合は、1 日の 0.5% しかバーストできないことを要約できます。すべて通常のパフォーマンスとして期待されます。

EFS は非常に遅いだけでなく、非常に遅いため、ローカル EBS ボリュームから EFS ボリュームへのわずか 8 GB のデータの rsync を実行できませんでした。

root@hostname:/efs# time rsync -ah --info=progress2 /jenkins/ /efs
        816.72M   6%  609.02kB/s    0:21:49 (xfr#12490, ir-chk=1009/273305)
          2.71G  18%  871.55kB/s    0:50:40 (xfr#42955, ir-chk=1070/306870)

平均速度は約 1.5mB/s で、ばかげています。

このため、jenkinsビルドジョブjenkinsの実行をテストしないことにしました。

これが速度を制限していた AWS が原因であるかどうかを確認しようとしましたが、EFS の監視ではそうではありません。多くの小さなファイルを処理する必要がある場合に期待されるパフォーマンスだと思います。スクリーンショットを見てください: ここに画像の説明を入力

于 2016-10-06T14:32:37.010 に答える