我可以选择 MySQL 使用哪些 CPU / 核心吗?

我可以选择 MySQL 使用哪些 CPU / 核心吗?

我有一个 Windows VPS(Windows 2008 R2 x64),运行几个 WordPress 博客和其他一些 ASP.NET 东西。VPS 运行 2 个 CPU(例如)。

使用 ASP.NET,在这种情况下,我通常将应用程序池设置为使用一个 CPU/核心,并将 SQL Server 设置为使用另一个(只需在服务器属性中更改它)。

在 MySQL 中,我可以告诉它使用哪个 CPU/核心吗?

答案1

因为这确实困扰了我,所以我做了一些额外的挖掘。你实际上可以使用 powershell (!) 设置亲和力,它应该适用于网络版本

创建一个简单的脚本 affinity.ps1

$proc = GET-PROCESS mysqld
$proc.ProcessorAffinity = 0x9

该数字 (0x9) 是十六进制的,取决于您的核心。每个核心都有对应的十进制值 2^(n-1),其中 n 是核心编号。

因此,如果您要将 mysql 分配给核心 1 和 4,则添加相应核心的值 (1+8) 并转换为十六进制。如果您想要核心 7 和 8,则值将是 (64+128),即 0xC0 或两者之间的任何排列。

然后只需安排上述脚本在启动时执行。

答案2

您可以设置进程亲和性。

从 Windows 任务管理器中选择 MySQL 进程,然后选择设置亲和性并分配给您首选的核心/CPU。

如果你想要更精细的资源分配管理,你可以使用系统资源管理

相关内容