SQL Server 2017 Web Edition에서 CPU 사용량을 25%로 제한하는 이유는 무엇입니까?

SQL Server 2017 Web Edition에서 CPU 사용량을 25%로 제한하는 이유는 무엇입니까?

Amazon EC2에서 호스팅되는 가상화된 환경에서 Microsoft SQL Server 2017 Web Edition을 사용하고 있습니다. 마이크로소프트의 말에 따르면SQL Server 2017의 버전 및 지원되는 기능페이지에서 "단일 인스턴스 - SQL Server 데이터베이스 엔진에서 사용하는 최대 컴퓨팅 용량"은 "소켓 4개 또는 코어 16개 중 더 적은 것으로 제한됩니다."입니다.

가상 환경의 Windows 작업 관리자마다 4개의 가상 프로세서가 있습니다. 그러나 장기간 실행되고 부담이 큰 SQL 쿼리를 실행하면 CPU 사용률이 최대 25%에 이릅니다.

Web Edition에 대한 제한이 4소켓이나 16코어 중 적은 경우 내 가상 프로세서를 100% 사용할 수 없어야 합니까? 아니면 Windows 또는 SQL Server가 가상 프로세서를 분류하는 방식을 잘못 이해하고 있습니까?

감사해요

답변1

가상 환경의 Windows 작업 관리자마다 4개의 가상 프로세서가 있습니다. 그러나 장기간 실행되고 부담이 큰 SQL 쿼리를 실행하면 CPU 사용률이 최대 25%에 이릅니다.

즉, VM이 소켓당 코어 1개로 표시되더라도(나쁜 상황임) 라이선스당 4개를 모두 사용할 수 있다는 의미입니다. 따라서 쿼리는 병렬 계획이 아닌 직렬 계획을 실행합니다.

"장기 실행 쿼리"이고 "25% CPU"를 사용한다는 사실은 쿼리가 잘 작성되지 않았거나 스키마 디자인이 수준에 미치지 못함을 의미합니다. 어느 쪽이든 병렬 계획을 통해 실행하면(쿼리가 가능하더라도) 서버에서만 서버의 CPU 사용량이 평소보다 높아지게 됩니다.

쿼리, 스키마, 지원 개체를 살펴보고 튜닝하는 것이 가장 좋습니다.

관련 정보