6.3. Apache HTTPD のパフォーマンスチューニング
Apache httpd は Satellite のコア部分を形成し、Satellite Web UI または公開された API を介して行われるリクエストを処理する Web サーバーとして機能します。操作の同時実行性を高めるために、httpd は、チューニングが Satellite のパフォーマンスを向上させるのに役立つ最初のポイントを形成します。
6.3.1. Apache httpd で起動できるプロセスの数を設定する
デフォルトでは、HTTPD はプリフォークリクエスト処理メカニズムを使用します。リクエストを処理するプリフォークモデルを使用して、httpd はクライアントによる着信接続を処理するための新しいプロセスを起動します。
apache へのリクエストの数が、着信接続を処理するために起動できる子プロセスの最大数を超えると、httpd によって HTTP 503 サービス使用不可エラーが発生します。処理するプロセスが不足している httpd の中で、着信接続は、Pulp などのコンポーネントが httpd プロセスの可用性に依存しているため、Satellite 側で複数のコンポーネントの障害を引き起こす可能性もあります。
HTTPD プリフォークの設定を調整して、予想されるピーク負荷に基づいて、より多くの同時要求を処理できます。
Satellite への 150 の同時コンテンツホスト登録を処理することを望む可能性があるサーバーのプリフォーク設定の変更例は、次の設定ファイルの例のようになります custom-hiera.yaml
ファイルの使用方法を参照してください。これにより設定ファイル /etc/httpd/conf.modules.d/prefork.conf
が変更されます):
/etc/foreman-installer/custom-hiera.yaml
を変更できます:
apache::mod::prefork::serverlimit: 582 apache::mod::prefork::maxclients: 582 apache::mod::prefork::startservers: 10
ServerLimit パラメーターを設定して、MaxClients 値を上げます。
詳細については、httpd ドキュメントの ServerLimit ディレクティブ を参照してください。
MaxClients パラメーターを設定して、httpd が着信要求を処理するために起動できる子プロセスの最大数を制限します。
詳細については、httpd ドキュメントの MaxRequestWorkers ディレクティブ を参照してください。
6.3.2. Apache HTTPD のオープンファイル数上限の設定
チューニングを行うと、Apache httpd はサーバー上で多くのファイル記述子を簡単に開くことができます。これは、ほとんどの Linux システムのデフォルトの制限を超える可能性があります。システムの最大オープンファイル数の上限を超えた結果として発生する可能性のある問題を回避するには、次のファイルとディレクトリーを作成し、以下の例で指定されているようにファイルの内容を設定してください。
手順
/etc/systemd/system/httpd.service.d/limits.conf
で最大オープンファイル数の上限を設定します。[Service] LimitNOFILE=640000
- 変更を Satellite Server に適用します。詳細は、「設定の適用」 を参照してください。