gpt4 book ai didi

linux - Ubuntu Firebird2 经典服务器配置使用所有 CPU

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:52 26 4
gpt4 key购买 nike

我在我的 Ubuntu 16.04 服务器上使用 Firebird 2.0.7 CS。由于使用的软件,无法升级到高版本,需要低版本。我之前使用过 SuperServer 版本,但在 Linux 上参数 CpuAffinityMask 被忽略。

SuperServer 版本的运行很糟糕,因为在 Linux 上它只使用 1 个核心。ClassicServer 版本稍微好一点,因为它将 1 个核心分配给 1 个用户。

当我在程序中运行要求很高的任务时,fb_inet_server 使用 100% 的 1 个核心,但其他 23 个核心处于空闲状态。如何为这个进程分配更多核心?

最佳答案

CpuAffinityMask 设置仅适用于 SuperServer(然后仅适用于 Windows)。

如果您使用的是经典服务器,那么 Firebird 可以(并且它将)使用所有内核如果有足够的事件,但是 Firebird 进程需要协调它们的工作,如果有很多锁争用 - 会导致性能下降。

要减少锁争用,您可能需要增加 LockHashSlots 设置。

增加页面缓冲区的数量也可能有所帮助,但请记住,对于经典服务器,此设置是针对每个进程的,并且会增加内存使用量。

与您所说的相反,Firebird 不会“向 1 个用户分配[s] 1 个核心。”。 Classic Server 将为每个连接创建一个进程,这些进程的线程将由操作系统在任何可用内核上进行调度。

关于linux - Ubuntu Firebird2 经典服务器配置使用所有 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49749839/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com