하이퍼 스레딩 및 가상 머신?


15

이미이 스레드를 살펴 봤습니다 : Hyper-V 및 하이퍼 스레딩 : 켜기 또는 끄기? 그러나 유일한 대답은 Windows에만 해당됩니다 ....

VM 서버를 구축 중이며 (Proxmox VE를 사용하면 차이가 나는 경우) 하이퍼 스레딩이 가상 시스템에 어떤 영향을 줄 수 있는지 궁금합니다 ...

특히 가상 머신의 수를 최대로 늘리면 하이퍼 스레딩이 도움이되거나 성능이 저하됩니까?

또한 가장 큰 가상 머신은 ~ 30 개의 클라이언트 (4 Cores / 8GB의 RAM)를 갖춘 터미널 서버와 도움이 될 경우 파일 서버입니다.

업데이트 : 서버는 1TB RAID 10, 32GB RAM 및 듀얼 Intel Xeon E5530을 갖춘 Dell R410입니다 (정확한 모델은 확실하지 않지만 2 + Ghz의 E55xx였습니다)

업데이트 : 대부분의 VM은 KVM에 있습니다.


사용하려는 서버의 사양을 제공하십시오.
ewwhite

또한 궁금합니다. 왜 Promox VE 대 ESXi입니까?
ewwhite

무료 라이센스에 대한 ESXI 제한 16GB 램으로 인해
Tacticus

3
Proxmox에는 웹 GUI의 완벽한 관리, 클러스터링, 서버 사양이 라이센스에 의해 인위적으로 제한되지 않으며 기억할 수없는 다른 몇 가지 기능이 추가되어 있기 때문에 ESXi보다 Proxmox를 선택합니다. 또한, 2.0은 우리에게 매우 유용한 AD 인증을 포함 할 것입니다. ESXi가 확실하지 않은 경우 ...
Soviero

1
oVirt를 보셨습니까?
dyasny

답변:


12

일반적으로 VM 호스트 서버 (VMWare ESXi, KVM, HyperV 등)에 대해 HyperThreading을 ON으로 유지 합니다. 이는 Intel Nehalem 및 최신 CPU (5500 시리즈 이상)에 적용됩니다. 여러 VM을 예약하는 데 사용할 수있는 추가 스레드입니다.

게스트 시스템의 크기를 재평가 할 수도 있습니다. 일반적으로 가상 머신을 사용하여 CPU 할당을 소규모로 시작하는 것이 가장 좋습니다. 터미널 서버에 대해 이야기하고 있기 때문에 실제로는 4 개의 vCPU가 아닌 2 개의 가상 CPU로 이동합니다. 하이퍼 바이저가 코어 수가 적은 VM의 CPU 시간을 예약하는 것이 더 쉽습니다 . 그러나 RAM은 여전히 ​​중요하므로 사용 가능한 공간을 많이 확보하십시오.

참조 : http://omtconcepts.com/wp/?p=14


어떻게 정확히 두 개의 스레드입니다 빨리 사보다 더?
Soviero

3
더 빠르지 않습니다 ... 더 쉽게 예약 할 수 있습니다. 내 편집을 참조하십시오. 언급 한 머신에는 총 8 개의 코어 (16 개, 하이퍼 스레딩 포함)가 있습니다. 4vCPU 게스트를 예약하기위한 리소스를 찾는 것은 2vCPU보다 어렵습니다. 더 많은 경합이 있으므로 성능이 떨어집니다. 이 서버에서 다른 가상 게스트를 실행하려는 경우 1 개 및 2 개의 vCPU 게스트를 사용하는 것이 좋습니다.
ewwhite

3
스케줄링에 대한 요점은 "갱 스케줄링"을 수행하는 하이퍼 바이저에만 적용되며, 여기서 가상 프로세서의 "모두"또는 "모두"의 근사값을 동시에 실행하려고합니다. 이 작업을 수행하는 하이퍼 바이저의 경우 가상 프로세서를 추가하면 VM을 예약하기가 더 어려워집니다. 나는 케빈이 KVM을 주로 사용하고 싶다고 규정하기 위해 질문을 업데이트 한 것으로 알고 있습니다. 그러나 Hyper-V는 갱 스케줄링을하지 않는다는 것을 지적하고 싶습니다. 갱 스케줄링이 필요하지 않도록 게스트 OS의 반 가상화에 의존합니다.
Jake Oshins

Hyper-V에 대해서는 몰랐지만 다른 주요 하이퍼 바이저에도 적용됩니다.
ewwhite

1
KVM은 갱을 예약하지 않습니다. 실제로 VMWare만이이를 수행하며 심지어 v5에서 갱 스케줄링 광기를 완화하는 메커니즘을 추가했습니다.
dyasny

4

정말 달려 있습니다. 만약 당신이 말하는 것처럼, 당신이 "max out"을하려고한다면, 그것은 CPU를 전체적으로 할당하는 것을 의미한다고 가정합니다 (사용 가능한 것보다 더 많은 가상 CPU 코어를 할당하거나 가능한 한 많은 수의 가상 CPU 코어를 할당합니다). 의 위에.

전체적으로 할당하지 않는 경우 일반적으로 특정로드에서 테스트하는 것이 좋습니다. 때로는 HT가 실제로 성능을 저하시킬 수 있습니다.


사용 가능한 코어 / 스레드 수를 정확하게 할당 할 계획이지만 과도하게 할당 할 계획은 없습니다.
Soviero

호스트 OS에 CPU 시간이 전혀 필요 없다고 생각하십니까? 그리고 HT가 켜진 스레드 수만큼 v-core를 할당하면 실제로 HT가 성능을 향상시킬 때도 일반적으로 20-30 %의 상위에 있기 때문에 실제로는 70-80 % 이상으로 전체를 할당합니다. 스레드 수에서 가정 할 수있는 것처럼 100 %.
dyasny

자, 12 개 이하의 "코어"(75 %의 16 %) 만 할당 되었습니까?
Soviero

1
내가 충분히 명확하지 않은 것 같아요. 전체적으로 구성 할 수 있으며 VM의로드에 따라 CPU가 전혀 병목 현상이되지 않을 수 있습니다. 또한 VM에 CPU가 많을수록 예약하기가 더 어려워 많은 v-cpus가 실제로 성능을 방해 할 수 있으므로 절대 필요한 것보다 많은 CPU를 VM에 할당해서는 안됩니다. 하이퍼 스레딩에 의한 20 %의 성능 향상은 절대적인 것이 아니며 VM로드에 따라 숫자가 약간 높거나 낮거나 0이거나 음수 일 수 있습니다.
dyasny

오 그래. 감사합니다.
Soviero

3

VM 성능에 영향을주는 변수가 많이 있습니다 . HT는 여러 변수 중 하나 일뿐 아니라 VM 구성 방법에 따라 다릅니다.

HT에 영향을 미치는 변수 중 하나는 사용중인 하이퍼 바이저 유형에 따라 다릅니다.

VZ, VServer 등과 같은 경량 가상 머신을 사용하는 경우 이러한 VM이 실제로 밀접하게 격리되어 있지 않고 멀티 스레드 소프트웨어를 실행하는 것과 비슷하므로 HT가 적합한 이점을 제공한다는 것은 분명합니다.

KVM, Xen HVM 등과 같은 헤비급 가상 머신을 사용하는 경우 VM에 두 개의 CPU가 할당되었지만 서로 다른 코어에서 각각 하나의 HT를 사용하는 경우와 같이 HT가 사물을 방해 할 수 있습니다.

따라서 가장 좋은 방법은 설정을 테스트 하여 자신에게 적합한 것을 확인하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.