
VMWare 환경으로는 설명할 수 없는 성능 문제가 있습니다. 여기 누군가가 도움을 줄 수 있기를 바랍니다. 데이터베이스 백엔드를 사용하는 웹 애플리케이션이 있습니다. Windows 2003 R2의 물리적 노드와 가상 노드 사이에 SQL 2005 클러스터가 설정되어 있습니다. 두 물리적 서버 모두 2x Xeaon x5460 쿼드 코어 CPU와 64GB 메모리, 16GB가 OS에 할당된 동일한 2950입니다. 우리는 모든 클러스터 디스크에 iSCSI San을 활용하고 있습니다. 문제는 클러스터 노드에 CPU를 추가하는 반복적인 스트레스 테스트에서 애플리케이션을 활용할 때 물리적 노드가 1pCPU에서 8pCPU로 확장된다는 것입니다. 즉, 지속적인 성능 향상을 볼 수 있다는 것입니다. Vsphere를 실행하는 노드를 테스트할 때 가상으로 인해 12%의 성능 저하가 예상되지만 물리적인 것처럼 여전히 1 vCPU에서 4 vCPU로 확장되지만 이 성능을 넘어서면 성능이 떨어지며 8 vCPU에 도달하면 성능이 나타납니다. vCPU가 4개일 때보다 숫자가 더 나쁩니다. 다시 말하지만, 두 노드 모두 하드웨어, 게스트 OS, SQL 구성 등이 동일하게 구성되어 있으며 시스템 테스트 외에는 트래픽이 없습니다. 가상 서버에는 다른 VM이 없으므로 리소스 경쟁이 없어야 합니다. 우리는 VMWare에 도움을 요청했지만 실제로 SQL 프로세서 선호도 설정과 같은 제안을 하지 않았습니다. SQL 프로세서 선호도는 도움이 되지만 각 상자에 동일한 순 효과를 가지며 결과를 최소한으로 변경해서는 안 됩니다. VSphere와 관련된 VMWare의 SQL 튜닝 가이드를 모두 살펴보았는데 도움이 되지 않았습니다.
답변1
이에 대한 구체적인 지원이 많지 않기 때문에 답변으로 입력하는 것을 주저하지만, 이것이 보고 있는 문제의 원인일 수 있습니다. 예전에 들어본 적 있어요(그리고이것페이지 일종의 지원) VM에 여러 개의 CPU가 있는 경우 VMWare CPU 예약이 더 어려워집니다. 단일 CPU VM의 경우 단일 호스트 프로세서만 예약하면 됩니다. 그러나 VM에 둘 이상이 있는 경우 VMWare는 VM에 사용할 수 있도록 여러 프로세서를 예약해야 하므로 시간이 더 오래 걸릴 수 있습니다. 이는 VM CPU 수가 증가함에 따라 예약하기가 점점 더 어려워집니다. 즉, VM에 프로세서 시간을 할당하는 데 더 어려움을 겪기 때문에 VM의 성능이 실제로 저하된다는 의미입니다.
또한 귀하의 마지막 의견을 다시 읽었으며 최근 vSphere의 경합 문제도 겪고 있습니다. 시도해 볼 수 있는 또 다른 방법(아직 하지 않은 경우)은 현재 유일한 VM이더라도 이 VM에 대한 리소스 할당을 늘리는 것입니다.
답변2
여기 꽤 깔끔한 설정이 있습니다 ;-)
vCPU가 최대 용량까지 사용됩니까? CPU 대기, CPU 준비 및 CPU 사용량에 대한 그래프는 무엇을 말합니까?
더 많은 vCPU를 VM에 추가하면 vCPU를 관리하고 물리적인 CPU에 매핑하기 위해 호스트 시스템에 더 많은 오버헤드가 생성됩니다. 어떤 시점에서는 단순히 vCPU를 추가하는 것만으로는 VM에서 더 많은 성능을 얻을 수 없습니다.
iSCSI SAN에 성능 문제가 있는지 확인하셨나요? 디스크 읽기 및 디스크 쓰기 요청 그래프와 디스크 읽기 및 쓰기 속도를 확인하고 이를 물리적 클러스터 구성원의 속도와 비교합니다.
어쩌면 일부 값이 올바른 방향을 가리킬 수도 있습니다.
답변3
명확히 말하자면, 8코어(2 x 4) ESX 상자를 사용하여 단일 8 vCPU VM을 호스팅하고 5번째 및 후속 vCPU에 대한 실질적인 성능 향상은 보이지 않습니까? 왜 물리적 SQL 상자와 동일한 호스트를 사용하지 않는지 질문해도 될까요? 성능 문제가 없더라도 아무런 이점이 없는 것으로 보이는 5,000~6,000달러의 Enterprise Plus 라이선스를 사용하고 있습니다. 죄송합니다.