4 월 24 일, 우리는 SQL 데이터베이스 베이스 레벨 (미리 보기) 및 표준 (미리 보기) 새로운 서비스 수준 및 새로운 비즈니스 연속성 기능의 미리 보기 버전을 발표. 이 블로그 게시물에서 우리는 SQL 데이터베이스에서 새로운 레벨의 성능으로 탐구.
변화에 대 한 필요와 함께 시작 합니다. 우리는 SQL 데이터베이스 웹 수준 및 엔터프라이즈급 성능에 강한 고객 피드백에 의해 주로 구동 새로운 서비스 수준, 성능 (특히 예측 가능한 성능)에 집중 한다. 웹-엔터프라이즈 수준의 성능을 예측할 수 및 무작위, 비즈니스 크리티컬 응용 프로그램을 실행 하는 고객에 대 한 문제가 발생 되었습니다. 우리는 성능의 예측은 고객 관점에서 중요 한 것을 이해 합니다. 고객 우리에 게는 없으면 플랫폼의 성능을 신뢰할 수 있는 오랜 시간 동안, 그것은이 플랫폼에서 안정적으로 실행 될 수 있는 시스템을 구축 하기 어려운.
이 피드백에 대 한 우리 기본 수준 (미리 보기) 및 SQL 데이터베이스 고급 (미리 보기 버전) 뿐만 아니라 표준 수준 (미리 보기)를 도입 했습니다. 미리 보기의 고급 (미리 보기) 버전 예측 가능한 성능을 제공에 초점을 맞추고, 2013 년 7 월에서에서 시작 되었다. 고급 (미리 보기)에 대 한 고객 피드백은 매우 긍정적 이다. 기본 수준 (미리 보기) 및 표준 (미리 보기) 또한이 우위와 고객 제공 되며 충전 하는 새로운 방법. 고객은 또한 현재 클라우드 컴퓨팅 산업의 요구에 따라 제어할 수 있는 레버로 성능을 활용할 이제 수 있습니다. 이 활용 "당 스토리지 가격" 웹 계층 및 엔터 프 라이즈-클래스 서비스 모델에서 고객에 대 한 "성능 + 기능 가격"의 새로운 모델의 주요 드라이버를 될 것입니다.
새로운 서비스 수준에서 응용 프로그램을 테스트로 우리 우리 아직도 새로운 성능 경험을 미세 조정 하는 것을 의미 하는 미리 보기 단계에서 현재는 기억. 우리는 미리 보기를 해제 하 여 귀하의 의견을 잘 들어 하 고 피드백에 따라 새로운 서비스 수준 보다 구체화할 것입니다. 성능 테스트를 실행 하는 당신은 수도 있습니다 되도록 주기적으로 다시 실행 계획 개발 때 이러한 새로운 서비스 수준에서 사용할 수 있는 다른 성능 레벨의 더 나은 이해 하는 것이 해야 합니다. 우리는 이러한 미리 보기의 이후 단계에서 더 많은 성능 관련 블로그 게시물을 게시할 최선을 할 것입니다.
사실, 고객 의견에 따라, 우리는 그냥 향상 새로운 기본 (미리 보기) 및 표준 (미리 보기) 처리량의 월요일 5 월 19 일의 주에:
기본 (미리 보기 버전): 1 dtu-> 5 DTU
S1:5는 dtu 15 DTU->
S2:25는 dtu 50 DTU->
당신은 성능에 의해 무슨 말을 하는 겁니까?
데이터베이스 성능은 종종 통계의 많은 수를 사용 하 여 그것의 상태를 설명 하는 복잡 한 주제입니다. 응용 프로그램 관점에서 무엇 사용자 정말 걱정입니다.
응답 시간: 처음부터 끝까지 특정 쿼리 실행 시간.
처리량: 전체 작업 또는 실행 속도는 시스템 시간에 언제 든 지 실행할 수 있습니다. 일반적으로 처리량 속도 단일 실행 지정 된 응답 시간 내에 완료 하는 경우에 유효한으로 간주 됩니다.
응답 시간 및 처리량에 영향을 미칠 많은 요인이 있다 하지만 그들은 분할 될 수 있다 두 가지 주요 범주, 응용 프로그램 디자인 및 하드웨어 리소스. 성능 데이터베이스 응용 프로그램에 대 한 문제 해결 일반적인 문제의 예는 다음과 같습니다.
응용 프로그램 디자인:
숫자의 정확한 세트 만든 쿼리를 실행 하기 위한 최고의 플랫폼을 제공 하기?
올바른 트랜잭션 격리 수준을 사용 합니까? 불필요 하 게 잠길 수 자원에 대 한 시스템 대기?
여러 테이블 일괄 처리 또는 저장된 프로시저 사용 된 왕복 트래픽을 최소화 하기 위해?
하드웨어 리소스:
충분 한 리소스가 작업을 수행 하기 위해 사용할 수 있는?
얼마나 많은 자원이 연속적으로 발생 하는 작업의 종류에 할당 해야 합니까?
성능 측면에서 새로운 SQL 데이터베이스 서비스 수준을 고객이 더 많은 하드웨어 리소스를 제공 하는 성능 수준으로 업그레이드 하 여 하드웨어 리소스에 관련 된 문제 해결을 도울 수 있다. 확장 디자인 패턴 (파티션)을 사용 하는 경우 새로운 성능 수준 높은 성능 수준 높은 활성 고객을 포함 하는 파티션은 할당 같은 다른 리소스를 제공 하는 작업에 따라 다른 파티션에 할당할 수 있습니다. 우리는 적극적으로 구역이 도움을 제공 하는 가이드의 상세한 개발 하십시오 기대!
또한, 구름 디자인의 모범 사례 중 하나는 응용 프로그램 디자인의 지속적인 최적화입니다. 이러한 투자 줄일 수 높은 성능 레벨을 사용 하 여 데이터베이스 작업을 실행 하는 비용을 줄일 필요가 있습니다.
하드웨어 사양은 무엇입니까?
데이터베이스 작업을 실행 하는 데 필요한 리소스는 하드웨어 리소스, CPU, 메모리, 디스크 IO 작업 (읽기/쓰기), 등의 다양 한 종류를 지정할 수 있습니다. 각 리소스에 큰 차이가 있다. 예를 들어 다른 유형의 커널 다른 클록 주기 및 캐시 크기, 있고 IO 실행 크기가 작은 데이터베이스 시스템 무엇에 따라. 이 작업에 얼마나 많은 응용 프로그램은 실제로 각 자원 및 장기 이용 보다 더 필요한 예측 하기 어렵고 수 합니다. 내부 배포 환경에서 데이터베이스가 실행 되는 하드웨어 제어를 해야 하 고 위의 작업을 수행 하는 이해할 수 있다. SQL 데이터베이스와 특히 클라우드로 이동의 큰 매력 중 하나는 하드웨어 또는 패치 관리 및 데이터베이스 소프트웨어를 유지 관리 하지 않고도 강력한 응용 프로그램 구축에 집중할 수 있습니다. 고객 우리에 게 그들은 너무 번잡 하 고 그냥 처리량 수준을 그들의 요구와 계속 하 고 싶지 않아. 이 성능에 초점을 우리의 능력의 비전 이기도 합니다.
새로운 서비스 수준에서 우리는 성과의 예측 가능성을 보장 하기 위해 새로운 디자인 원칙을 채택 했습니다. 각 성능 수준 (기본 수준 (미리 보기), S1, S2, P1, P2, P3)는 CPU, 메모리, IO, 등과 같은 다른 리소스 그룹에 할당 됩니다. 데이터베이스는 각 수준에서 사용할 수 있는 리소스의 최대 양을 설정 됩니다. 근거는 데이터베이스와 해당 성능 수준으로 동일한 리소스 그룹 전용된 컴퓨터에서 실행 될 때 얻을 수 있는 성능에 대략 동등 해야 한다. 디자인 원리는 예측 가능한 성능에 대 한 기초를 제공합니다.
성능의 각 수준에서 자원 차이 이해 하려면 우리는 데이터베이스 처리량 단위 (DTU)의 개념을 도입. DTU는 각 성능 수준에 할당 된 리소스의 혼합. 예를 들어 P1 100 dtu, 15 DTU, 즉, s 1과 s 1 p 1의 약 1/7을 가져옵니다. 위의 디자인 원칙에 따라, 그 레벨은 CPU 속도와 전용된 컴퓨터에서 실행 시 얻을 수 있는 성능에 비슷한 성능 수준 s 1에서 실행 되는 데이터베이스, 메모리 및 IO 기능 p 1의 수준 1/7 예견 수 있습니다.
사용자 문제 해결의 관점에서 설명 각 리소스에 대 한 사용 현재 성능 수준에 따라 데이터베이스 작업의 백분율 IO, 디스크 큐 길이의 종류를 이해 하 고 현재 성능 레벨을 기준으로 리소스 사용을 이해 하기 쉽게 제거 합니다.
우리 CPU에 대 한 원격 측정 데이터를 제시, 읽기 사용 주 데이터베이스 Sys.resource_stats 보기에에서 쓸 고 나중 미리 보기 버전을 메모리에 관련 된 정보를 추가. 이 보기는 장기 리소스 요구를 측정 하는 데 유용 된 각 리소스에 대 한 평균 5 분 (5 분)에 대 한 수집 된 데이터를 포함 합니다. 이 원격 측정법 데이터는 또한 포털 사이트에서 얻을 수 있습니다. 에 대 한 자세한 내용은 쿼리 sys.resource_stats와 DTU는 예측에 사용 되, 새로운 서비스 수준에 대 한 정보를 설명 합니다이 MSDN 문서를 읽을 수 있습니다.
우리는 강력한 원격 측정 데이터를 제공 하는 성능 문제 해결에 대 한 중요 한 알고 있다. 미리 보기 하는 동안 추가 향상 된 기능을 제공할 수 기대 하시기 바랍니다.
데이터베이스 작업 주기
"데이터베이스 사용" 행동 하지 단일 작업 이지만 작업의 다양 한 종류의 구성. 이것은 분명, 하지만 성능 수준을 데이터베이스에 대 한 적절 한 계산 데이터베이스 작업을 실행 하려면 얼마나 많은 자원을 결정 하는 것이 중요 하다. 대답은 간단 하지 않을 수 있습니다 "(미리 보기) S2 @ 200 달러/월 표준" (공식 출시 가격)으로. 구름 (특히 SQL 데이터베이스) 우리가 입으 면 큰 장점 중 하나 유연 하 게 확장 하는 기능입니다. 예를 들어 "월요일에서 목요일, 주 6 일 사용 기본 쿼리, 금요일의 번호에 응답 (미리 보기) 특정에서 실행 되는 작업의 큰 배치를 관리 하는 S2 사용 시간 1 일 각 월 신속 하 게 대규모 ETL 작업을 수행 하는 p 1을 사용 하 여 창:
(기본 (미리 보기) 가격/30 * 25) = 4.16 USD
(S2 가격/30 * 4) = 26.7 원
(P1 가격/30 * 1) = 31 원
총 61.86 원/월
위의 예제와 같이 많은 데이터베이스의 작업 주기 같은 다른 필요 조건 가진 다른 자식 작업 포함 됩니다.
(예: SQL 데이터베이스를 마이그레이션하는 경우) 데이터베이스의 초기 로드
정상적인 사용 (예를 들어이 응용 프로그램을 사용 하 여 정상적인 작업 일에 단일 부서에서 사용자 활동)
피크 사용 (예를 들어 한 달에 처리 하는 회사 전체 모든 직원에 대 한 보고)
큰 추출 변환 및 로드 (ETL 또는 가져오기/내보내기) 작업
물리적 데이터베이스 유지 관리 작업 (예: 인덱스 만들기)
다른 요구 사항에 따라 작업을 분류 하는 경우에, 당신은 비용을 크게 줄일 수 있습니다 피크 부하에 필요한 성능 수준에서 실행 해야 합니다.
단순히 새로운 서비스 목표를 지정 하는 업데이트 데이터베이스 API를 호출 하 고 필요한 경우 응용 프로그램 코드 성능 레벨을 변경할 수 있습니다. 이 변화는 자체에 비동기 작업을 하 고 얻을 데이터베이스 API를 사용 하 여 변경 상태를 모니터링 하. 데이터베이스를 사용할 수 온라인 변경 프로세스를 통해.
웹-및 엔터프라이즈 수준 대비 기본 (미리 보기), 고급 (미리 보기)와 표준 수준 (미리 보기)
우리는 자주 질문 한 질문은 웹과 엔터프라이즈 수준 새로운 서비스 수준에서 성능을 비교 하는 방법을입니다. 이 질문에 바로 대답 하기가 어렵습니다. 그것은 어려울 어렵다. 새로운 서비스 수준 웹 버전 및 엔터프라이즈 버전에서 근본적으로 다르다. 웹 수준 및 엔터프라이즈 수준에서 서비스 패턴 스토리지 사용의 금액에 근거 하 고 다른 하드웨어 리소스를 고려 하지 않습니다. 그것은 근본적인 결함이 시스템 스토리지 가용성에 대 한 최적화 하 고 데이터베이스 작업을 수행 하는 데 사용 하는 다른 리소스를 고려 하지 않습니다. 성능 수준 및 웹 및 엔터 프 라이즈 수준에서 자원 사용 가능 시간 같은 컴퓨터에 다른 고객의 작업 부하와 같은 다른 요인에 따라 달라 집니다 그리고 시스템 으로부터 자신을 보호 하는 용. 그리고 운에 따라 여부를 활용할 수 있습니다 이러한 자원의이 문제가 될 것입니다 더 많은 저명한 시간이 지남에 새로운 서비스 레벨을 통해 그것을 해결 하지 않는 경우.
나는 문서의 시작 부분에서 말했듯이, 고객 명확 하 게 말했어야 우리는 그들은 예측할 수 없는 하 고 불확 실한 그들의 성능을 경험 싶지 않아. 새로운 기본 수준 (미리 보기), 표준 수준 (미리 보기) 및 고급 (미리 보기) 다른 가격에 높은 성능 예측을 제공에 초점. 즉, 시스템 최적화는 저장소, 제공을 뿐만 아니라 데이터베이스 작업을 수행 하는 데 필요한 다른 하드웨어 리소스에 맞게 설계 되었습니다.
이러한 서비스 수준에서 사용 하는 디자인 원칙 근본적으로 다르다, 그래서 그들은 더 이상 비교 사과 오렌지 보다입니다.
있도록 웹 수준 및 엔터프라이즈 수준 리소스 사용을 이해, 우리는 sys.resource_stats (위에서 언급 한)에 사용 하는 리소스의 백분율을 제공. 웹 수준 및 엔터프라이즈 수준 리소스 비율 (미리 보기) S2 표준 설정에 대 한 계산 되는 원격 측정 데이터에서 기준점 ½, 현재 웹과 엔터프라이즈 데이터베이스에 대 한 일반적인 가격 수준 이므로. Note이 원격 데이터에 대 한 참조점 이며 사용할 수 있는 리소스 웹 수준 및 엔터프라이즈 수준에서 금액을 대표 하지 않는다. 위에서 설명 했 듯이, 웹 및 엔터 프 라이즈 수준에서 사용 가능한 리소스의 양에 대 한 불확실성이 있다. 하지만 데이터베이스에 필요한 성능 수준을 정확히 알아야 당신이 해야 이러한 새로운 서비스 수준 중 하나를 업그레이드 작업을 실행 하 고 sys.resource_stats를 볼. 기본 수준 (미리 보기)에 대 한 기존 제한 새로운 논리 서버 에서만 사용할 수 있는 표준 수준 (미리 보기) 서비스는 새로운 서비스 레벨 테스트 웹 수준 및 엔터프라이즈 수준 데이터베이스를 가져올 필요가 없습니다 것입니다 후속 미리 보기 단계에서 해제 됩니다.