2016-10-05 25 views
1

EBSディスクの代わりにEFS(AWS NFS実装)を使用するようにJenkinsビルドサーバーを再構成することで、パフォーマンスが大幅に向上するかどうかは疑問です。EBSからEFSストレージに切り替えることで、ビルドサーバーのパフォーマンスを向上できますか?

EFSはギガバイトあたり約3倍の高価ですが、EFSではすべての費用を支払うEBSではなく、使用済みスペースのみを支払うため、実際のコストはおそらく約2倍になります。

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

この質問はコストに関するものではなく、20%でもビルドスピードを改善できるかのように、ストレージコストが明らかに克服されるかのようなパフォーマンスについてのことです(後でメンテナンスする必要はありません)。

+1

EBSのレイテンシが低くなっています。ビルドには通常、多くの小さなソースファイルが必要です。なぜあなたはそれを試してみませんか? – at0mzk

+0

@BretzL既にテストをした人からデータを取得しない限り、私はそれを行い、すべての結果を返すでしょう。これに加えて、ジェンキンによって構築されたドッカー画像を保存するための同じアプローチを評価しています。それでも、NFS上のドッカーデータを別々に扱えるようにホストすることができます。 – sorin

+0

"Amazon EBSは、単一のEC2インスタンスからのデータへのアクセス時間が最も短いワークロードに対して、パフォーマンスを提供できます。 EBSと比較してEFSのパフォーマンスが向上するとは思えません。 – jbird

答えて

1

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

私の間違いは、このよく隠されたページについて、EFS performanceを忘れていたことです。これは、EFSに大量のデータを保存しない限り、1日の0.5%しか破棄できません。私たちは皆、通常のパフォーマンスとして期待していたものです。

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

[email protected]:/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であり、ばかげている。

このため、私はジェンキンズを使ってジョブジェンキンをテストしてもテストしないことに決めました。

これは私のスピードを制限していたAWSによって引き起こされたのかどうかを確認しようとしましたが、EFSの監視ではそのようなことが指摘されません。私はをたくさん扱わなければならない場合に、期待されるパフォーマンスがになると思います。スクリーンショットをご覧ください: enter image description here

4

私の直接の経験から、これはJenkinsサーバーにとって非常に悪い考えです。私たちは、EBSボリュームの作成、拡張、管理などの管理と自動化のオーバーヘッドを犠牲にすることなく、Jenkinsの家をEFSマウントに配置しました。

トラブルはジェンキンスさんがEFSのための最悪のシナリオ、そして実際には任意のNFS実装されている小さなファイル(例えば、JavascriptのNPMモジュール)、たくさんのを伴うことが多い構築することです。ファイルベースのストレージでは、ファイルアクセスごとにサーバーのラウンドトリップが必要です。特定のケースでは、小規模なプロジェクトであっても、EFSのホームディレクトリを持つJenkinsサーバーでは数分かかることがあります。

あなた自身の問題を解決し、私たちの間違いから学びます。私たちはこの選択を元に戻すつもりです。あなたのJenkinsサーバーは、EBSベースのサーバーよりもはるかに低速です。

+0

私は問題をよりよく説明しません:) –

関連する問題