第 10 章 调优 WSGI 进程


如果您因为长时间运行 API 进程而看到请求失败,则这些 API 进程可能会从调优中受益。

默认情况下,IPA 为 64 位系统上的 API 服务分配 4 个 Web 服务器网关接口(WSGI)进程。这个 4 个进程的默认限制是为内存保留而实施的。增加 WSGI 进程的数量允许接受更多的请求,代价是更高的 CPU 使用率和内存消耗。默认情况下,IPA 将大约 100 到 110MB 驻留内存用于每个 WSGI 进程的 API 。将此调优到 16 个进程(这是推荐的限制)后,内存量大约为 1.3GB。

流程

  • 修改 /etc/httpd/conf.d/ipa.conf 文件中的进程值:

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

任何长时间运行的 API 端点都可以从调优中受益。这个调优决定是由用户来做的。

例如,OpenStack 安装由几个包含多个服务的控制器组成。每个服务都请求一个证书,以便所有内部通信都通过Transport Layer Security(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%。将 CPU 数进一步增加到 16 ,只有 8 个 WSGI 进程没有获得额外的性能提升。但是,通过将 WSGI 进程数增加到 16,服务器处理了 110 个客户端的 770 个证书,与 8 个 CPU 设置相比,反映了 22% 的提高。

平均而言,将 CPU 数翻一倍会使证书颁发能力提高 25% ,只要也相应地调整 WSGI 进程。这强调了需要将 CPU 和 WSGI 进程一起扩展,以防止瓶颈并优化服务器性能。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.