5.2. Puma のチューニング


Puma は、ホストへのすべての Foreman 関連リクエストを処理するために使用される Ruby アプリケーションサーバーです。多数のホストまたは頻繁な操作を処理することが想定されている Satellite 設定では、Puma を適切にチューニングすることが重要です。

5.2.1. Puma のワーカー数とスレッド数の自動チューニング

Puma のワーカーとスレッドの値を satellite-installer で指定しなかった場合、またはそれらが Satellite 設定に存在しない場合、satellite-installer はバランスの取れたワーカー数を設定します。satellite-installer は次の式に従います。

min(CPU_COUNT * 1.5, RAM_IN_GB - 1.5)

ほとんどの場合はこれで問題ありませんが、使用パターンによっては、(他の Satellite コンポーネントがリソースを使用できるように) Puma 専用のリソースの量を制限するなどの理由で、チューニングが必要になる場合があります。各 Puma ワーカーは約 1 GiB の RAM を消費します。

現在の Satellite Server 設定を表示する

# cat /etc/systemd/system/foreman.service.d/installer.conf

現在アクティブな Puma ワーカーを表示する

# systemctl status foreman

5.2.2. Puma のワーカー数とスレッド数の手動チューニング

「Puma のワーカー数とスレッド数の自動チューニング」 を利用しない場合は、これらの調整パラメーターにカスタム数値を適用できます。以下の例では、2 つのワーカーと 5 つのスレッドを使用しています。

# satellite-installer \
--foreman-foreman-service-puma-workers 2 \
--foreman-foreman-service-puma-threads-max 5

5.2.3. 推奨される Puma のワーカー数とスレッド数

さまざまなチューニングプロファイルのスレッドとワーカーの設定を推奨するために、Red Hat はさまざまなチューニングプロファイルを使用して、Satellite で Puma チューニングテストを実施しました。このテストで使用した主なテストは、さまざまなワーカー数とスレッド数を使用した、次の組み合わせによる同時登録です。当社の推奨値は、純粋に同時登録のパフォーマンスに基づいているため、正確なユースケースを反映していない可能性があります。たとえば、セットアップが非常にコンテンツ指向で、パブリッシュとプロモートが多い場合は、Pulp と PostgreSQL を優先して Puma によって消費されるリソースを制限することもできます。

Expand
名前ホスト数RAMコア推奨される Puma スレッド数推奨される Puma ワーカー数

default

0  -  5000

20 GiB

4

16

4  -  6

medium

5000  -  10000

32 GiB

8

16

8  -  12

large

10000  -  20000

64 GiB

16

16

12  -  18

extra-large

20000  -  60000

128 GiB

32

16

16  -  24

extra-extra-large

60000 以上

256 GiB 以上

48 以上

16

20  -  26

ここではワーカー数のチューニングがより重要であり、場合によっては最大 52% のパフォーマンス向上が見られました。インストーラーはデフォルトで 5 スレッドを使用しますが、上記の表の全チューニングプロファイルで 16 スレッドを使用することを推奨します。これは、4 スレッドでのセットアップと比較して、16 スレッドで最大 23% のパフォーマンス向上 (8 で 14%、32 で 10%) が見られたためです。

Red Hat はこの推奨値を明らかにするために、非常に特殊なユースケースである同時登録テストケースを使用しました。これは、(登録だけでなく) よりバランスの取れたユースケースを持つ Satellite では異なる場合があります。デフォルトの 5 スレッドを維持することも良い選択です。

この推奨値の根拠となった測定値の一部を以下に示します。

Expand
 4 ワーカー、4 スレッド4 ワーカー、8 スレッド4 ワーカー、16 スレッド4 ワーカー、32 スレッド

向上率

0%

14%

23%

10%

default セットアップ (4 CPU) では 4 - 6 つのワーカーを使用します。ワーカー 5 つの場合は、ワーカー 2 つと比較した場合、約 25% パフォーマンスが向上しました。しかし、ワーカー 8 つの場合は、ワーカー 2 つと比較した場合、パフォーマンスが 8% 低下しました。以下の表を参照してください。

Expand
 2 ワーカー、16 スレッド4 ワーカー、16 スレッド6 ワーカー、16 スレッド8 ワーカー、16 スレッド

向上率

0%

26%

22%

-8%

medium セットアップ (8 CPU) では 8 - 12 個のワーカーを使用します。以下の表を参照してください。

Expand
 2 ワーカー、16 スレッド4 ワーカー、16 スレッド8 ワーカー、16 スレッド12 ワーカー、16 スレッド16 ワーカー、16 スレッド

向上率

0%

51%

52%

52%

42%

32 CPU のセットアップでは 16 - 24 個のワーカーを使用します (これは 90 GiB RAM マシンでテストされました。システムがスワッピングを開始し、メモリーがここでの 1 つの要因となっていることが判明したためです。適切な extra-large には 128 GiB が必要です)。ワーカー数をそれ以上に増やすと、高い同時登録レベルでテストした際に問題が発生したため、このような設定は推奨できません。

Expand
 4 ワーカー、16 スレッド8 ワーカー、16 スレッド16 ワーカー、16 スレッド24 ワーカー、16 スレッド32 ワーカー、16 スレッド48 ワーカー、16 スレッド

向上率

0%

37%

44%

52%

失敗が多すぎる

失敗が多すぎる

5.2.4. Puma ワーカー数の設定

CPU が十分にある場合は、ワーカーを追加するとパフォーマンスが向上します。例として、8 CPU と 16 CPU の Satellite セットアップを比較しました。

Expand
表5.1 ワーカー数の効果をテストするために使用した satellite-installer のオプション
8 CPU、40 GiB RAM を搭載した Satellite 仮想マシン16 CPU、40 GiB RAM を搭載した Satellite 仮想マシン

--foreman-foreman-service-puma-threads-max 16

--foreman-foreman-service-puma-threads-max 16

--foreman-foreman-service-puma-workers {2|4|8|16}

--foreman-foreman-service-puma-workers {2|4|8|16}

8 CPU のセットアップでは、ワーカー数を 2 から 16 に変更すると、同時登録時間が 36% 向上しました。16 CPU のセットアップでは、同じ変更で 55% の向上が見られました。

ワーカーを追加すると、Satellite が処理できる同時登録の総数も増やすことができます。当社の測定では、2 つのワーカーを使用したセットアップで最大 480 の同時登録を処理できましたが、ワーカーを追加すると状況が改善されました。

5.2.5. Puma スレッド数の設定

スレッド数が多いほど、ホストを並行して登録する時間を短縮できます。例として、次の 2 つの設定を比較しました。

Expand
8 CPU、40 GiB RAM を搭載した Satellite 仮想マシン8 CPU、40 GiB RAM を搭載した Satellite 仮想マシン

--foreman-foreman-service-puma-threads-max 16

--foreman-foreman-service-puma-threads-max 8

--foreman-foreman-service-puma-workers 2

--foreman-foreman-service-puma-workers 4

総スレッド数はそのままにして、使用するワーカー数を増やすと、同時登録のシナリオで約 11% の速度向上が得られます。さらに、ワーカーを追加しても CPU と RAM の消費量は増加しませんでしたが、パフォーマンスは向上しました。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る