第10章 WSGI プロセスのチューニング


長時間実行される API プロセスが原因で要求が失敗する場合は、それらの API プロセスをチューニングすると効果が得られます。

デフォルトでは、IPA は 64 ビットシステム上の API サービスに Web Server Gateway Interface (WSGI) プロセスを 4 つ割り当てます。この 4 プロセスというデフォルトの制限は、メモリー節約のために実装されています。WSGI プロセスの数を増やすと、CPU 使用率とメモリー消費量は増加しますが、より多くの要求を受け入れることができます。デフォルトでは、IPA は WSGI プロセスごとに約 100 - 110 MB の常駐メモリーを API に使用します。これを推奨される上限である 16 プロセスに調整すると、消費量が約 1.3 GB になります。

手順

  • /etc/httpd/conf.d/ipa.conf ファイルの processes 値を変更します。

    WSGIDaemonProcess ipa processes=<4> threads=1 maximum-requests=500 \
    Copy to Clipboard

長時間実行される API エンドポイントは、いずれもチューニングによる効果を得ることができます。このチューニングの決定はユーザーが行う必要があります。

たとえば、OpenStack インストールは、複数のサービスを含む複数のコントローラーで構成されています。各サービスは、すべての内部通信が Transport Layer Security (TLS) 経由で行われるように、証明書を要求します。コントローラーまたはコンピュートノードをインストールまたは更新するときに、これらの証明書が要求または更新されることがあります。複数のコントローラーまたはコンピュートノードが関係する状況では、証明書要求の量がかなり多くなることがあります。これらの要求は自動化されているため、同時またはほぼ同時に発生します。WSGI スレッドの数を増やすと、インストールを完了することができます。

10.1. IPA サーバーパフォーマンスの向上のための CPU 使用率の最適化

大量の証明書発行タスク中にパフォーマンスの制限が発生する場合は、CPU と Web Server Gateway Interface (WSGI) プロセスの数を調整すると、IPA サーバーの同時リクエスト処理能力が大幅に向上します。

4 つの CPU で設定されたサーバーに、70 台のクライアントがそれぞれ 7 つの証明書 (合計 490 の証明書) を要求したところ、要求量がサーバーの処理能力を超えたため、サーバータイムアウトが発生しました。

CPU の数を 8 に増やし、それに合わせて WSGI プロセスの数を 8 にすると、証明書処理能力が 630 個の証明書まで増加しました。CPU の数を 100% 増やしても、増加した処理能力は 4 CPU 設定に比べて 28% でした。CPU の数をさらに 16 に増やしても、WSGI プロセスが 8 つの場合、パフォーマンスは向上しませんでした。ただし、WSGI プロセスの数を 16 に増やすと、サーバーは 110 台のクライアントからの 770 個の証明書を処理しました。つまり、8 CPU 設定に比べて 22% の改善が見られました。

CPU の数を 2 倍にした場合、WSGI プロセスをそれに応じて調整すれば、証明書発行能力は平均 25% 増加しました。これは、ボトルネックを防ぎ、サーバーのパフォーマンスを最適化するために、CPU プロセスと WSGI プロセスの両方を一緒にスケーリングする必要性を明確に示しています。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat