У меня есть 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 и назначьте предпочтительные ядра / процессоры.
Если вы хотите более тонко настроенное управление распределением ресурсов, вы можете использовать Управление Системными Ресурсами