5.3. Apache HTTPD 性能调优


Apache httpd 形成卫星的核心部分,充当处理通过卫星 Web UI 或公开 API 发出请求的 Web 服务器。为增加操作的并发性,httpd 形成了第一个调优点,有助于提高 Satellite 的性能。

5.3.1. 配置 Apache httpd 可以启动多少个进程

默认情况下,HTTPD 使用预派生请求处理机制。借助预派生处理请求的模型,httpd 会启动一个新的进程来处理客户端的传入连接。

当 Apache 的请求数超过可启动以处理传入连接的子进程的最大数量时,httpd 将引发 HTTP 503 服务 Unavailable Error。amidst httpd 从进程之外进行处理,传入的连接也会导致您的卫星一侧出现多个组件故障,因为 httpd 进程可用性上的 Pulp 等组件依赖 Pulp。

您可以根据预期的峰值负载调整 HTTPD prefork 的配置,以处理更多并发请求。

对可能要处理 150 个并发内容主机注册的服务器修改示例(请参阅如何使用 custom-hiera.yaml 文件);这会修改配置文件 /etc/httpd/conf.modules.d/prefork.conf:

您可以修改 /etc/foreman-installer/custom-hiera.yaml

Copy to Clipboard Toggle word wrap
apache::mod::prefork::serverlimit: 582
apache::mod::prefork::maxclients: 582
apache::mod::prefork::startservers: 10
  • ServerLimit 参数设置为 raise MaxClients 值。

    如需更多信息,请参阅 httpd 文档中的 ServerLimit Directive

  • 设置 MaxClients 参数,以限制 httpd 可以启动以处理传入请求的子进程的最大数量。

    如需更多信息,请参阅 httpd 文档中的 MaxRequestWorkers Directive

5.3.2. 为 Apache HTTPD 配置 Open Files 限制

通过调整后,Apache httpd 可以在服务器上轻松打开很多文件描述符,这可能会超过大多数 Linux 系统的默认限制。为了避免因为在系统中超过最大打开文件限制而出现的任何问题,请创建以下文件和目录并设置下例中指定的文件内容:

流程

  1. /etc/systemd/system/httpd.service.d/limits.conf 中设置最大打开文件限制:

    Copy to Clipboard Toggle word wrap
    [Service]
    LimitNOFILE=640000
  2. 将您的更改应用到卫星服务器。更多信息请参阅 第 5.1 节 “应用配置”

5.3.3. 调优 Apache Ice Child 过程

默认情况下,httpd 使用事件请求处理机制。当 httpd 的请求数超过可以启动来处理进入连接的最大子进程数时,httpd 会引发 HTTP 503 Service Unavailable 错误。amidst httpd 无法处理进程,进入的连接也可以导致 Satellite 服务的多个组件失败,因为 httpd 进程的可用性某些组件。

您可以调整 httpd 事件的配置,以根据您的预期的峰值负载处理更多并发请求。

警告

custom-hiera.yaml 中配置这些数字会锁定它们。如果您使用 satellite-installer --tuning=My_Tuning_Option 更改这些数字,您的 custom-hiera.yaml 将覆盖此设置。只有在您有特殊需要时才设置您的数字。

流程

  1. 通过更改或添加以下行来修改 '/etc/foreman-installer/custom-hiera.yaml' 中的并发请求数:

    Copy to Clipboard Toggle word wrap
    apache::mod::event::serverlimit: 64
    apache::mod::event::maxrequestworkers: 1024
    apache::mod::event::maxrequestsperchild: 4000

    示例与在 Satellite 服务器中运行 satellite-installer --tuning=medium 或更高版本相同。

  2. 将您的更改应用到卫星服务器。更多信息请参阅 第 5.1 节 “应用配置”
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.