성능 목표를 정의하기 위한 권장 사항
이 Azure Well-Architected Framework 성능 효율성 검사 목록 권장 사항에 적용됩니다.
PE:01 | 성능 목표를 정의합니다. 성능 대상은 워크로드 요구 사항에 연결된 숫자 값이어야 합니다. 모든 워크로드 흐름에 대한 성능 목표를 구현해야 합니다. |
---|
이 가이드에서는 성능 목표를 설정하고 노출하기 위한 권장 사항을 설명합니다. 성능 목표는 성능 목표를 정의하는 메트릭입니다. 이러한 메트릭은 단일 숫자 값 또는 숫자 범위로 표현됩니다. 지속적인 개선을 이끄는 명확하고 구체적인 메트릭입니다. 성능 목표는 개선의 숫자 기반이며 팀이 특정 목표를 향해 노력을 맞추는 데 도움이 됩니다. 명확한 성과 목표가 없으면 팀은 성능 문제에 대한 집중과 책임 부족이 부족할 수 있습니다. 팀은 성능 목표를 설정하여 특정 목표를 향해 작업하고 지속적인 개선을 추진할 수 있습니다.
정의
용어 | 정의 |
---|---|
데이터 흐름 | 시스템 내 또는 시스템 간 데이터 이동입니다. |
종속성 | 워크로드가 사용하는 구성 요소입니다. |
흐름 | 워크로드에서 특정 함수를 수행하는 작업 시퀀스입니다. 여기에는 데이터의 이동과 워크로드 구성 요소 간의 프로세스 실행이 포함됩니다. |
메트릭 | 정기적으로 수집되는 숫자 값입니다. 메트릭은 특정 시간에 시스템의 일부 측면을 설명합니다. |
성능 목표 | 성능 목표를 정의하는 메트릭입니다. 이러한 메트릭은 단일 숫자 값 또는 숫자 범위로 표현됩니다. |
사용자 흐름 | 사용자가 애플리케이션 또는 시스템 내에서 수행하는 작업의 경로 또는 시퀀스입니다. |
워크플로 | 작업을 수행하기 위해 워크로드가 실행되는 단계의 시퀀스입니다. |
주요 디자인 전략
성능 목표를 설정하는 것은 워크로드 성능 효율성을 달성하기 위한 필수 단계입니다. 성능 목표는 워크로드에 대해 원하는 수준의 성능을 정의하고 이러한 목표를 충족하는 데 미치는 효과를 측정하는 데 도움이 됩니다. 성능 목표는 워크로드의 효율성을 측정하고 비교하는 벤치마크를 제공합니다. 이 벤치마크는 개선 영역을 강조하는 데 도움이 될 수 있습니다. 또한 목표는 작업을 organization 목표에 맞게 조정하고 비즈니스 결과를 향상시킵니다. 또한 성능 목표는 리소스 할당에 대한 지침을 제공하여 워크로드가 최적의 성능을 유지하면서 다양한 요구에 적응할 수 있도록 합니다.
성능 목표를 조기에 설정
워크로드를 배포하기 전에 성능 목표를 설정합니다. 디자인의 워크로드의 경우 성능 목표에 대한 연구가 필요합니다. 시장 조사, 경쟁 분석 및 설문 조사를 수행하여 성능 목표 범위를 생성합니다. 성능 목표가 없는 프로덕션 워크로드의 경우 프로덕션 데이터 및 고객 피드백을 사용하여 성능 목표를 설정합니다.
성능 요구 사항 확인
성능 요구 사항을 결정하는 것은 애플리케이션에 중요한 응답 시간, 처리량 및 대기 시간과 같은 필수 성능 메트릭을 식별하는 것입니다. 이러한 성능 목표를 organization 비즈니스 목표에 맞추면 워크로드가 동급 최고의 제품이든 평균 제품이든 관계없이 원하는 표준을 충족할 수 있습니다. 예를 들어 응답 시간을 줄이거나 처리량 속도를 높이거나 리소스 사용을 최적화하는 것을 목표로 할 수 있습니다.
성능 목표를 설정할 때 organization 목표를 사용자 기반의 고유한 요구 사항에 맞추는 것이 중요합니다. 사용자는 궁극적으로 성능의 성공을 결정하며 성능 목표를 기대에 맞게 조정해야 할 필요성을 강조합니다. 이러한 균형을 통해 성능 목표가 의도한 사용자 환경과 워크로드의 전반적인 효율성을 캡처할 수 있습니다. 워크로드 성능을 포괄적으로 측정하고 최적화하려면 다음 목록에 대한 성능 목표를 설정하는 것이 좋습니다.
개별 구성 요소: 개별 구성 요소는 워크로드의 개별 단위 또는 세그먼트이며, 각 구성 요소에는 잠재적으로 고유한 성능 특성과 요구 사항이 있습니다.
사용자 흐름: 이러한 경로는 사용자가 워크로드를 통해 이동하는 방법을 차트로 표시하고 유동성을 보장하면 사용자 환경이 직접 향상됩니다.
워크플로: 워크플로 정의 내부 프로세스는 특정 결과를 달성하고 운영 효율성을 결정하도록 제작됩니다.
데이터 흐름: 데이터 흐름은 워크로드 내에서 데이터의 이동 및 상호 작용을 참조하여 잠재적인 비효율성 또는 병목 상태를 식별하는 데 도움이 됩니다.
외부 종속성: 외부 종속성은 성능에 상당한 영향을 줄 수 있는 기본 워크로드(통합 타사 서비스 또는 도구) 외부의 요소입니다.
배율 단위: 배율 단위는 워크로드의 확장 가능한 세그먼트와 관련이 있습니다. 특히 증가된 부하에서 강력한 성능을 보장하는 것은 특히 성장 시나리오에서 매우 중요합니다.
기술 수준: 기술 수준은 API 액세스 속도, 데이터베이스 작업 대기 시간 및 잠재적인 네트워크 지연과 같은 직접적인 성능 지표입니다.
비즈니스 트랜잭션: 비즈니스 트랜잭션은 구매 완료 또는 서비스 예약과 같은 종단 간 사용자 작업을 나타내며, 원활한 실행은 사용자 만족도에 직접 연결됩니다.
워크로드 모두 작동: 이 전체적인 메트릭은 워크로드의 모든 구성 요소 및 측면을 포함하는 집합적 성능에 대한 개요를 제공합니다.
주요 메트릭 식별
주요 성능 메트릭을 식별하려면 워크로드 성능 목표를 달성하기 위한 진행 상황을 추적하는 필수 측정값을 결정해야 합니다. 이 식별은 성능 효율성을 측정하고 개선하는 정량화 가능한 방법을 제공합니다. 집중할 주요 메트릭을 식별할 때 가용성, 용량 및 응답 시간과 관련된 메트릭을 고려합니다.
가용성: 오류율은 가용성 성능 메트릭입니다. 오류율은 기간 동안 실패한 요청의 백분율을 나타냅니다. 오류율의 일반적인 대상은 요청의 0.1%입니다.
용량: 처리량 및 동시성은 샘플 용량 메트릭입니다. 처리량은 지정된 기간 내에 특정 수의 트랜잭션을 처리하는 기능을 나타냅니다. instance 경우 애플리케이션은 매월 1억 개의 트랜잭션을 유지해야 할 수 있습니다. 동시성은 동시 사용자 또는 작업의 측정값입니다.
응답 시간: 대기 시간 및 로드 시간은 일반적인 응답 시간 메트릭입니다. 대기 시간은 요청에 응답하는 데 걸리는 시간(200밀리초)입니다. 로드 시간은 애플리케이션 또는 웹 페이지가 대화형으로 진행되는 데 걸리는 시간입니다. 일반적인 목표는 로그인 요청의 99%가 1초 미만을 완료하는 것입니다.
특정 대상 설정
주요 메트릭을 식별한 후에는 각 메트릭에 대한 성능 목표 또는 임계값을 지정해야 합니다. 성능 목표는 측정 가능하고 현실적이며 워크로드 목표에 맞춰야 합니다. 예를 들어 대상 응답 시간을 500밀리초(밀리초) 미만으로 설정하거나 대상 오류율을 1% 미만으로 설정할 수 있습니다. 빠르고느린 성능에 대한 정성적 평가를 피합니다. 숫자 대상을 사용하면 시간에 따른 성능을 객관적으로 평가할 수 있습니다. 특정 성능 목표를 설정할 때 다음 권장 사항을 고려합니다.
고객 고려: 성능 목표를 설정할 때 고객 중심 관점을 채택합니다. 고객을 성능의 최종 판단자로 인식하면 성능 목표가 고객의 기대에 부합하도록 하는 데 도움이 됩니다. 이러한 조정에는 조직 목표와 고객 기반의 고유한 요구 사항을 모두 고려하는 것이 포함됩니다. 이러한 두 측면을 통합하면 원하는 고객 환경과 전반적인 워크로드 효과를 반영하도록 성능 목표를 조정할 수 있습니다. 고객의 기대치를 고려하는 성능 목표를 정의하면 고품질의 고객 환경을 제공하고 고객의 요구를 충족하기 위해 노력할 수 있습니다.
백분위수 사용: P99, P95 및 P50과 같은 백분위수는 성능 평가 결과를 나타내는 업계 표준입니다. 백분위수는 숫자가 포함하는 데이터의 양을 나타내는 측정값입니다. 예를 들어 P99는 데이터의 99%를 포함합니다. 간단한 평균이 아닌 백분위수 를 사용하여 워크로드 성능에 대한 보다 포괄적인 이해를 제공합니다. 백분위수 측정을 위해 일반적으로 모니터링 도구 또는 로깅 메커니즘을 사용하여 일정 기간 동안 성능 데이터를 수집합니다. 그런 다음, 이 데이터를 분석하여 다른 백분위수의 응답 시간 값을 확인합니다.
성능 대상 문서화 및 노출
성능 목표를 문서화하고 노출하는 것은 중앙 집중식 위치에서 모든 성능 목표를 기록하는 것입니다. 성능 목표를 충족하는 것은 개발 팀과 운영 팀 간의 공동 책임입니다. 워크로드가 이러한 목표를 일관되게 충족하거나 초과하도록 하려면 팀에 조치를 취할 수 있는 정보와 액세스 권한을 제공합니다. 성능 목표를 문서화하고 노출하려면 다음 권장 사항을 고려합니다.
성능 목표 문서화: 모든 성능 목표를 문서화합니다. 모든 성능 목표가 개발 및 운영 팀 모두에서 쉽게 액세스할 수 있는 중앙 집중식 위치에 문서화되어 있는지 확인합니다. 실시간 의사 결정에 맞춤 및 보조를 촉진합니다.
성능 목표 노출: 모든 책임 있는 팀은 성능 목표에서 실행 가능한 작업을 검토하고 만들 수 있어야 합니다. 대시보드 및 보고서와 같은 정보 라디에이터를 사용하여 성능 대상에 액세스할 수 있도록 합니다.
실행 가능으로 설정: 설명서 및 정보 라디에이터는 명확한 다음 단계를 제안해야 합니다. 예를 들어 오류가 증가하면 즉각적인 검사 표시되거나 대상을 일관되게 충족하면 해당 벤치마크의 재평가가 제안될 수 있습니다.
고객 피드백 평가
고객 피드백을 평가하려면 고객의 응답과 제안을 적극적으로 찾고 분석해야 합니다. 고객 피드백을 적극적으로 수집하고 분석하면 요구 사항과 기대에 대한 귀중한 인사이트를 얻을 수 있습니다. 정기적인 통신은 변화하는 기본 설정 및 기술 추세에 따라 성능 목표를 조정하는 데 도움이 됩니다. 고객의 요구에 중점을 두면 워크로드가 기술 벤치마크에 부합할 뿐만 아니라 지속적인 개선이 진행됩니다. 고객 만족도를 강조하는 이 접근 방식을 통해 워크로드가 장기적으로 관련성과 성공을 유지할 수 있습니다.
Azure 촉진
성능 목표 설정: Azure Advisor는 성능 목표를 알릴 수 있는 성능 권장 사항을 제공합니다.
Azure Monitor는 Azure 리소스를 모니터링하고 성능 목표를 측정하는 전체 기능 집합을 제공하는 전체 스택 모니터링 서비스입니다. 플랫폼 메트릭을 수집하고 즉시 사용할 수 있는 대시보드를 제공합니다. 메트릭에 따라 경고를 구성할 수 있습니다. 또한 단일 진리 소스를 보장하기 위해 메트릭을 저장하고 상관 관계를 지정합니다.
관련 링크
성능 효율성 검사 목록
전체 권장 사항 집합을 참조하세요.