第 10 章 调整 WSGI 进程
如果您因为长时间运行的 API 进程导致请求失败,这些 API 进程可能会受益于调整。
默认情况下,IPA 为 64 位系统上的 API 服务分配 4 个 Web 服务器网关接口(WSGI)进程。这个对 4 个进程的默认限制是为内存保留而实现的。增加 WSGI 进程的数量允许以更高的 CPU 使用量和内存消耗为代价,接受更多请求。默认情况下,IPA 每 WSGI 进程使用大约 100 到 110MB API 的 API 内存。在调整到 16 个进程(这是推荐的限制)后,大小大约为 1.3GB。
流程
修改
/etc/httpd/conf.d/ipa.conf
文件中的 processes 值:WSGIDaemonProcess ipa processes=<4> threads=1 maximum-requests=500 \
任何长时间运行的 API 端点都受益于调整。这个调优决定是用户进行。
例如,OpenStack 安装由多个控制器组成,它包含多个服务。每个服务都请求证书,以便所有内部通信在传输层安全(TLS)上发生。安装或刷新控制器或计算节点时,可以请求或刷新这些证书。在涉及多个控制器或计算节点的情况下,证书请求的卷可能会变得相当大。这些请求是自动化的,因此它们同时发生或接近。增加 WSGI 线程的数量允许安装完成。
10.1. 优化 CPU 使用量以提高 IPA 服务器性能
在高容量证书颁发任务过程中遇到性能限制时,调优 CPU 和 Web 服务器网关接口(WSGI)进程计数可能会显著增强 IPA 服务器处理同步请求的能力。
如果服务器配置了 4 个 CPU 和 70 个客户端,每个请求每个证书都请求 7 个证书(总计490 证书),因为请求卷超过服务器的处理容量。
将 CPU 数量增加到 8,并将 WSGI 进程计数增加到 8,将证书处理容量增加到 630 个证书,比 4 个 CPU 配置增加 28%,尽管 CPU 计数 100% 增加了 100%。将 CPU 数量进一步增加到 16 仅显示 8 WSGI 进程的额外性能。但是,通过将 WSGI 进程计数增加到 16,服务器处理了 110 个客户端的 770 证书,反映 8 个 CPU 设置的 22%。
平均怀疑 CPU 数量会导致证书颁发容量的 25% 增长,只要相应地调整 WSGI 进程。这强调了将 CPU 和 WSGI 进程扩展在一起的需求,以防止瓶颈并优化服务器性能。