Share via


성능 목표를 정의하기 위한 권장 사항

이 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 리소스를 모니터링하고 성능 목표를 측정하는 전체 기능 집합을 제공하는 전체 스택 모니터링 서비스입니다. 플랫폼 메트릭을 수집하고 즉시 사용할 수 있는 대시보드를 제공합니다. 메트릭에 따라 경고를 구성할 수 있습니다. 또한 단일 진리 소스를 보장하기 위해 메트릭을 저장하고 상관 관계를 지정합니다.

성능 효율성 검사 목록

전체 권장 사항 집합을 참조하세요.