Назад | Перейти на главную страницу

Могу ли я выбрать, какие процессоры / ядра будут использоваться MySQL?

У меня есть Windows VPS (Windows 2008 R2 x64), на котором ведется пара блогов WordPress и несколько других вещей, связанных с ASP.NET. VPS использует 2 процессора (например).

С ASP.NET в такой ситуации я обычно настраиваю пул приложений на использование одного процессора / ядра, а SQL Server - на другой (просто измените его в свойствах сервера).

Могу ли я сказать в MySQL, какой процессор (ы) / ядро ​​(ы) использовать?

Поскольку это меня действительно беспокоило, я немного покопался. Фактически вы можете установить привязку с помощью 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 или любые другие перестановки между ними.

Затем просто запланируйте выполнение вышеуказанного сценария при запуске.

Вы можете установить привязку к процессу.

В диспетчере задач Windows выберите MySQL Process, затем выберите Set Affinity и назначьте предпочтительные ядра / процессоры.

Если вы хотите более тонко настроенное управление распределением ресурсов, вы можете использовать Управление Системными Ресурсами