Right-Sizing
적정 크기 조정(Right-sizing)이란 물리적 서버의 일반적인 크기 조정 방법인 실제 사용량보다 더 많이 추가하는 대신 데이터베이스 워크로드를 구동하기 위해 가상 CPU 및 RAM과 같은 적절한 양의 컴퓨팅 리소스를 가상 머신에 할당하는 것을 의미합니다. 가상 머신의 크기를 조정할 때는 올바른 크기 조정이 필수적이며, 올바른 크기 조정 방식은 물리적 서버와 가상 머신에 따라 다릅니다.
예를 들어, 새로 설계된 데이터베이스 서버에 필요한 CPU 수가 8개인 경우, 물리적 머신에 배포할 때 DBA는 일반적으로 해당 시점에 필요한 것보다 더 많은 CPU 성능을 요청합니다. 그 이유는 일반적으로 이 물리적 서버가 배포된 후에 DBA가 이 물리적 서버에 CPU를 추가하기가 더 어렵기 때문입니다. 메모리 및 물리적 배포의 다른 측면도 비슷한 상황으로, 나중에 추가 비용과 가동 중단 시간이 필요한 조정보다 여유 용량을 구축하는 것이 더 쉽습니다. 서버의 크기가 작아서 실행해야 하는 워크로드를 처리할 수 없는 경우에도 문제가 될 수 있습니다.
그러나 가상 머신에서 실행할 SQL Server 배포의 크기를 조정할 때는 해당 가상 머신에 그 시점에 필요한 정확한 양의 리소스만 할당하는 것이 중요합니다. 이렇게 하면 성능이 최적화되고 오버헤드가 가장 낮아지며, 중요한 프로덕션 SQL Server 가상화를 통해 라이선스 비용을 절감할 수 있습니다. 이후에는 운영 중단 없이 리소스를 추가하거나 VM을 간단히 재부팅하여 리소스를 추가할 수 있습니다. 대상 SQL Server VM에 필요한 리소스 수를 확인하려면 동적 관리 뷰(DMV) 기반 툴을 사용하여 소스의 물리적 SQL Server(있는 경우)를 모니터링하거나 VMware vRealize True Visibility Suite와 같은 모니터링 소프트웨어를 활용합니다. 수집된 시계열 데이터의 양은 모든 관련 워크로드 급증(예: 분기말 또는 월별 보고서)을 캡처하기에 충분해야 하지만 실제 기준선으로 간주할 수 있는 충분한 데이터를 캡처하려면 최소 2주가 지나야 합니다.
수집된 데이터를 기반으로 VM의 크기를 조정하는 방법에는 두 가지가 있습니다:
- SQL Server가 높은 성능 요구 사항을 가진 중요한 것으로 간주되는 경우, 가장 지속적인 피크를 크기 조정 기준선으로 삼습니다.
- 성능보다 통합이 더 높은 우선순위를 차지하는 하위 계층 SQL Server 구현의 경우 평균을 사이징 기준선으로 고려할 수 있습니다.
확실하지 않은 경우 더 적은 양의 리소스로 시작하여 필요에 따라 리소스를 늘리세요.
VM을 생성한 후에는 지속적인 모니터링을 구현해야 하며, 원래 기준선에서 리소스 할당을 조정할 수 있습니다. 조정은 물리적 SQL Server 배포를 모니터링하는 것과 유사하게 DMV 기반 툴을 사용한 추가 모니터링을 기반으로 수행할 수 있습니다. VMware vRealize True Visibility Suite는 지속적인 용량 관리와 함께 DMV 기반 모니터링을 수행할 수 있으며 리소스 낭비 또는 경합 지점이 있는 경우 알림을 제공합니다.
VM의 올바른 크기 조정은 복잡한 프로세스이므로 리소스를 과도하게 할당하지 않고 워크로드 요구 사항을 과소 평가하지 않도록 현명한 판단을 내려야 합니다.
- 워크로드에서 사용할 수 있는 것보다 더 많은 가상 CPU로 VM을 구성하면 리소스 사용량이 약간 증가하여 부하가 많은 시스템의 성능에 영향을 미칠 수 있습니다. 일반적인 예로는 다중 vCPU VM에서 실행되는 단일 스레드 워크로드 또는 워크로드가 효과적으로 사용할 수 있는 것보다 많은 수의 vCPU가 있는 가상 머신의 멀티 스레드 워크로드 등이 있습니다. 게스트 운영 체제에서 일부 vCPU를 사용하지 않더라도 해당 vCPU로 VM을 구성하면 호스트의 실제 CPU 사용량으로 변환되는 몇 가지 작은 리소스 요구 사항이 여전히 ESXi에 부과됩니다.
- 메모리를 과도하게 할당하면 VM 메모리 오버헤드가 불필요하게 증가하며, 특히 예약을 사용하는 경우 메모리 경합이 발생할 수 있습니다. VMware Active Memory 카운터[14]를 사용하여 SQL Server VM이 소비하는 메모리 양을 측정할 때는 주의해야 합니다. 자체 메모리 관리 기능을 포함하거나 대량의 메모리를 스토리지 읽기 캐시로 사용하는 애플리케이션(예: SQL Server)은 메모리를 다르게 사용하고 관리합니다. SQL Server VM에 할당된 메모리를 조정하기 전에 데이터베이스 관리자에게 문의하여 SQL Server 수준 메모리 메트릭을 사용하여 메모리 소비율을 확인하십시오.
- 가상 SQL Server에 더 많은 vCPU를 할당하면 가상 코어당 라이센스와 같은 특정 시나리오에서 SQL Server 라이센싱에도 영향을 미칩니다.
버튼 클릭 한 번으로 VM에 리소스를 추가하는 것은 물리적 머신에 리소스를 추가하는 것보다 훨씬 쉽습니다.