• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ListenCoresBucketsRatio 指令

    描述:CPU内核数量(在线)与侦听器存储桶数量之间的比率
    句法:ListenCoresBucketsRatio ratio
    默认:ListenCoresBucketsRatio 0(disabled)
    内容:服务器配置
    状态:MPM
    模组:eventworkerprefork
    兼容性:在Apache HTTP Server 2.4.17中可用,其内核支持socket选项,SO_REUSEPORT并使用该选项(例如Linux 3.9及更高版本,但不支持SO_REUSEPORT* BSD 的当前实现)在侦听进程(或线程)套接字之间平均分配新连接。。

    比率(在线)CPU内核的数量和听众桶的数目之间可以用来使Apache HTTP服务器创建num_cpu_cores / ratio听桶,每一个包含它自己Listen相同的端口(一个或多个)上-ing插座(多个),然后让每个孩子处理一个单独的存储桶(在创建孩子时按循环分配存储桶)。

    “在线” CPU内核的含义

    在Linux(以及BSD)上,如果配置了Hotplug,则可以打开/关闭CPU内核,因此ListenCoresBucketsRatio在计算要创建的存储桶数时需要考虑此参数。

    ListenCoresBucketsRatio当接受新连接成为瓶颈时,可以提高可伸缩性。在具有大量CPU内核的系统上,启用此功能已经过测试,显示出显着的性能改进和更短的响应时间。

    要使之处于活动状态,CPU核的数量必须至少比配置的比率多两倍。推荐的比率8,因此,16使用此值时,至少有内核在运行时可用。需要为每个目标系统计算正确的比率以获得最大性能,测试多个值并观察关键性能指标的变化。

    该指令会影响MinSpareThreadsMaxSpareThreads下限值的计算。子进程的数量必须是存储桶数量的倍数,才能最佳地接受连接。

    Listen同一IP地址和端口上的多个或Apache HTTP服务器

    因此SO_REUSEPORT,在侦听套接字上设置该选项将允许多个进程(EUID例如共享同一进程root)绑定到相同的IP地址和端口,而在通常情况下不会出现系统绑定错误。

    这也意味着在同一站点上配置IP:port并带有肯定值的Apache httpd的多个实例也ListenCoresBucketsRatio将启动而不会出现错误,然后在传入连接在两个实例之间均匀分布的情况下运行(在任何情况下,这都不是建议或明智的用法,但是只是一个通知,它将阻止发现此类可能的问题)。

    在同一实例中,如果Listen在完全相同的IP(或主机名)和端口上配置了多个指令,则Apache httpd将检查并无法启动,从而避免了创建一些重复的存储桶,这些存储桶是无用的并且会降低性能。但是,它不能(也不会更努力地)捕获所有可能重叠的情况(例如将主机名解析为其他地方使用的IP)。