6.3. Apache HTTPD 性能调优
Apache httpd 形成 Satellite 的核心部分,并充当处理通过 Satellite Web UI 或公开 API 发出的请求的 Web 服务器。为增加操作的并发性,httpd 会形成第一点,调整有助于提高 Satellite 的性能。
6.3.1. 配置 Apache httpd 可以启动多少个进程 复制链接链接已复制到粘贴板!
默认情况下,HTTPD 使用 prefork 请求处理机制。通过处理请求的预分叉模型,httpd 会启动一个新进程来处理客户端进入的连接。
当对 apache 的请求数超过可启动以处理传入连接的子进程的最大数量时,httpd 引发 HTTP 503 Service Unavailable 错误。amidst httpd 不足以处理进程,传入的连接也可以在 Satellite 端造成多个组件失败,因为 httpd 进程可用性上 Pulp 等组件依赖项。
您可以调整 HTTPD prefork 的配置,以根据预期的峰值负载处理更多并发请求。
对服务器的预fork配置的一个示例,可能需要处理 150 个并发内容主机注册到 Satellite,如下所示(请参阅 如何使用 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 Directive。
设置 MaxClients 参数,以限制 httpd 可以启动以处理传入请求的子进程的最大数量。
如需更多信息,请参阅 httpd 文档中的 MaxRequestWorkers Directive。
6.3.2. 为 Apache HTTPD 配置开放文件限制 复制链接链接已复制到粘贴板!
通过调优,Apache httpd 可以轻松地在服务器上打开大量文件描述符,这些描述符可能会超过大多数 Linux 系统的默认限制。为了避免因为系统上的最大打开文件限制而可能出现任何类型的问题,请创建以下文件和目录并设置以下文件和目录,如以下示例中指定的文件的内容:
流程
在
/etc/systemd/system/httpd.service.d/limits.conf中设置最大打开文件限制:[Service] LimitNOFILE=640000- 将您的更改应用到 Satellite 服务器。更多信息请参阅 第 6.1 节 “应用配置”。