다음을 통해 공유


성능 계획에 대한 권장 사항

이 Power Platform Well-Architected Performance Efficiency 체크리스트 권장 사항에 적용됩니다.

02초 성능 계획을 수행합니다. 사용 패턴에 변화가 예상되기 전에 성능 계획을 완료로 설정해야 합니다. 예상되는 변경 사항에는 계절적 변화, 제품 업데이트, 마케팅 캠페인, 특별 이벤트 또는 규제 변경이 포함됩니다.

이 가이드에서는 성능 및 용량 계획에 대한 권장 사항을 설명합니다. 성능은 그냥 발생하는 것이 아니라 다른 요구 사항과 마찬가지로 계획을 세워야 합니다. 용량 계획은 워크로드 성능 목표를 충족하는 데 필요한 리소스를 결정하는 프로세스를 의미합니다. 여기에는 스토리지, 처리량, 네트워크 대역폭 등 워크로드의 성능 요구 사항을 지원하는 데 필요한 리소스 양을 추정하는 작업이 포함됩니다. 용량 계획을 통해 성능 저하나 병목 현상 없이 예상되는 워크로드 요구 사항을 처리할 수 있는 충분한 리소스를 워크로드에 확보할 수 있습니다. 또한 과잉 프로비저닝과 불필요한 비용을 방지하는 데도 도움이 됩니다. 성능 및 용량 계획이 부족하면 성능 문제, 리소스 병목 현상, 비용 증가, 비효율적인 할당, 확장성 문제 및 예측할 수 없는 워크로드 성능이 발생할 수 있습니다.

정의

용어 정의
용량 계획 워크로드가 성능 목표를 달성하는 데 필요한 리소스를 예측하는 프로세스입니다.
기능적 요구 사항 워크로드가 의도된 목적을 달성하기 위해 갖춰야 할 특징과 기능입니다.
기술 요구 사항 기능적 요구 사항을 충족하는 데 필요한 코드와 인프라입니다.
추세 분석 미래 수요 예측을 위한 과거 데이터 분석입니다.

주요 디자인 전략

용량 계획은 예상되는 워크로드 수요 및 패턴을 기반으로 결정을 내리는 미래 지향적 프로세스입니다. 그 목표는 연속 및 최대 로드 시나리오 모두에서 워크로드 성능을 최적화하는 것입니다. 계절적 변화나 제품 출시 등 사용량 변화를 이해함으로써 리소스를 전략적으로 할당하여 수요가 많은 기간 동안 시스템에 부담을 주지 않을 수 있습니다. 이러한 사전 예방적 전략은 중단을 줄이고 성능 효율성을 강화합니다. 과거의 사용 동향과 성장 데이터를 분석하여 단기 및 장기 수요를 예측할 수 있습니다. 잠재적인 병목 현상과 확장 문제를 정확히 찾아내고 일관되고 효율적인 워크로드 성능을 보장할 수 있습니다.

성능 계획

워크로드가 실행된 후 리팩터링을 최소화하기 위해 성능을 염두에 두고 워크로드를 설계합니다. 성능과 관련하여 워크로드 요구 사항을 고려하십시오. 성능 고려 사항은 워크로드의 여러 측면에 영향을 미칩니다.

  • 데이터 전략: 연결해야 할 기존 데이터와 데이터 저장소가 있습니까? 얼마나 많은 데이터를 저장해야 합니까? 데이터 볼륨이 사용자가 데이터에 액세스하는 속도에 영향을 미치나요? 사용자는 데이터에 어떻게 액세스합니까?

  • 통합 전략: 시스템 속도를 늦추지 않고 실시간 통합을 수행할 수 있나요? 특정 시간 내에 일괄 통합을 할 수 있나요? 데이터가 어디에 있습니까? 온-프레미스 데이터 게이트웨이 전략이 필요하신가요?

  • 대화량: 조종사를 구축할 때는 메시지나 대화의 목표량과 예상 증가량을 이해하는 것이 중요합니다. 귀하의 기대 사항이 타겟 아키텍처를 검증합니까? 규모는 어떤가요?

  • 데이터 모델링: 더 빠른 쿼리를 위해 데이터 구조를 단순화해야 합니까?

  • 보안 모델링: 보안 규칙이 많은 사용자와 데이터에도 잘 작동할까요? 병목 현상이 있습니까?

  • 환경 전략: 성능 테스트를 위한 테스트 환경가 있나요? 프로덕션 환경과 유사합니까? 성능 테스트를 위한 예산을 책정하셨나요?

  • 개발: 개발자들이 성능 모범 사례를 따르고 있나요? 구체적인 성과 목표를 달성하고 있나요? 사용자는 가능한 것과 불가능한 것을 알고 있습니까?

  • 테스트 설계 및 접근 방식: 성과는 어떻게 측정하시나요? 무엇이 충분하고 무엇이 충분하지 않습니까? 현실적인 시나리오와 데이터로 테스트하고 있나요? 현재와 미래의 요구 사항을 테스트하고 있습니까?

  • 사용자 수용 및 채택: 성과를 어떻게 추적하시나요? 사용자의 기대가 현실적입니까?

리소스 계획

성능에는 시간, 돈, 노력, 사람이 필요합니다. 프로젝트 시작부터 리소스를 현명하게 할당하세요. 예를 들어 개발자는 비즈니스 논리를 구현하고 코드를 최적화하는 효율적인 방법을 찾는 데 추가 시간이 필요할 수 있습니다. 또한 성능 테스트를 수행하려면 테스트 환경과 팀이 필요합니다.

성능은 일회성 활동이 아닙니다. 워크로드 사용량이 변경되고 플랫폼이 발전함에 따라 코드를 다시 검토하고 성능을 최적화하는 방법을 계속 찾아야 합니다.

데이터 마이그레이션 및 통합 계획

이전 시스템에서 데이터를 마이그레이션하는 경우 마이그레이션을 신중하게 계획하십시오. 다음은 문제를 방지하는 데 도움이 되는 몇 가지 팁입니다.

  • 마이그레이션하는 데이터에 대한 비즈니스 요구 사항을 이해하세요. 사용자가 필요로 하는 것보다 많은 데이터를 마이그레이션하지 마세요. 예를 들어, 10년 된 잠재 고객을 영업 시스템으로 가져올 필요는 없을 것입니다.

  • 통합이 실행되는 시기와 빈도를 고려하세요. 사용자가 시스템과 상호 작용할 때 리소스를 많이 사용하는 프로세스를 실행하지 마십시오. 사용량이 적은 시간에 많은 프로세스를 예약하거나 비동기식 처리를 사용하세요.

  • 통합을 설계할 때 플랫폼 제한 사항과 모범 사례를 숙지하십시오.

성능 데이터 수집

워크로드 활용도 데이터를 수집하려면 워크로드가 리소스를 사용하는 방식과 성능에 대한 정보를 수집하고 분석해야 합니다. 기존 워크로드에 대한 기록 패턴과 새 워크로드에 대한 예측 조치에 대한 데이터를 수집해야 합니다. 이 프로세스는 비즈니스 목표를 기술 요구 사항으로 변환하는 데 도움이 되며 용량 예측에 필수적입니다. 다음 권장 사항을 고려하세요.

기존 워크로드 이해

용량 계획을 위해 기존 워크로드를 이해하려면 워크로드가 리소스를 활용하는 방식과 관련된 기록 데이터를 분석해야 합니다. 여기에는 리소스 활용도, 성능 데이터, 워크로드 패턴과 같은 메트릭이 포함됩니다. 이러한 이해는 효율적인 리소스 할당을 보장하고 비즈니스 목표를 기술 요구 사항으로 변환하며 잠재적인 병목 현상을 식별하는 데 도움이 됩니다.

  • 데이터 이해: 사용 가능한 과거 데이터를 검토하고 해당 데이터의 구조, 형식 및 용량 계획과의 관련성을 이해합니다. 검토에는 리소스 활용도 메트릭, 작업 부하 패턴, 성능 메트릭 및 기타 관련 데이터 포인트가 포함될 수 있습니다. 비즈니스 프로세스와 애플리케이션의 중요성을 이해합니다. 최대 사용 시간, 사용자 로드, 트랜잭션 속도 및 기타 관련 메트릭을 식별합니다.

  • 데이터 정리 및 사전 처리: 불일치, 오류 또는 이상치를 제거하여 분석을 위해 데이터를 준비합니다. 데이터 준비에는 데이터 대치, 누락된 값 처리 또는 정규화와 같은 데이터 정리 기술이 포함될 수 있습니다.

  • 주요 지표 식별: 용량 계획에 관련성이 있는 지표를 식별합니다. 메트릭에는 트랜잭션 볼륨, 네트워크 처리량 및 응답 시간이 포함될 수 있습니다.

  • 병목 현상 식별: 처리량과 응답 시간을 측정하여 작업 부하가 증가함에 따라 병목 현상이 발생할 수 있는 시스템의 특정 구성 요소를 식별합니다. 재작업 및 근본 원인 분석과 같은 프로세스 마이닝 분석 기능을 사용하여 엔드투엔드 프로세스의 병목 현상을 식별하세요.

  • 데이터시각화: 차트나 플롯과 같은 시각화를 만들어 과거 데이터에 대한 더 나은 통찰력을 얻으세요. 시각화를 통해 데이터의 패턴, 추세 및 이상 현상을 식별하여 워크로드 동작을 더 명확하게 이해할 수 있습니다. 프로세스 마이닝 도구를 사용하면 프로세스 맵으로 데이터를 시각화하여 프로세스에 대한 심층 분석이 가능합니다.

새로운 워크로드 이해

용량 계획을 위한 새로운 워크로드를 이해한다는 것은 과거 데이터 없이 향후 작업의 리소스 요구 사항을 예측하는 것을 의미합니다. 과거 데이터 없이 새로운 워크로드의 향후 요구 사항을 예측하는 것은 어려울 수 있습니다. 이 프로세스를 통해 리소스를 효율적으로 할당하고 작업이 시작될 때 작업 목표에 맞게 할당을 조정할 수 있습니다.

다음 권장 사항을 살펴 보십시오.

  • 사용자조사: 사용자가 현재 작업 부하를 어떻게 처리하는지 이해하기 위해 사용자 조사를 실시하면 새로운 작업 부하에 대한 잠재적 수요에 대한 귀중한 통찰력을 얻을 수 있습니다. 연구에는 사용자 인터뷰, 설문 조사 또는 기존 작업을 수행하는 사용자 관찰이 포함될 수 있습니다.

  • 전문가의 판단: 해당 산업 분야에서 경험이 있는 전문가나 전문가의 의견을 들으면 새로운 작업 부하에 대한 수요를 예측하는 데 도움이 될 수 있습니다. 이들의 전문 지식과 인사이트는 예측을 위한 귀중한 정보를 제공할 수 있습니다.

  • 시범 프로젝트 또는 프로토타입: 소규모 시범 프로젝트나 프로토타입을 통해 실시간 데이터와 피드백을 수집할 수 있습니다. 그런 다음 이 데이터를 사용하여 용량 계획 프로세스에 알리고 조정 예상 수요를 알릴 수 있습니다.

  • 외부 데이터 소스: 업계 보고서, 시장 조사 또는 고객 설문 조사와 같은 외부 데이터 소스는 새로운 작업 부하에 대한 수요를 예측하는 데 추가 정보를 제공할 수 있습니다. 이러한 소스는 고객 선호도, 시장 동향 및 잠재적 수요 동인에 대한 귀중한 인사이트를 제공할 수 있습니다.

수요 예측

수요 예측에는 워크로드 데이터를 사용하여 서비스나 제품에 대한 향후 요구 사항을 예측하는 작업이 포함됩니다. 효율적인 리소스 할당을 보장하고, 성장 패턴을 예측하고, 잠재적인 수요 급증에 대비하는 것은 용량 계획에 필수적입니다. 미래 수요를 예측할 때 데이터를 사용하여 미래 요구 사항을 파악합니다. 미래 수요를 예측하기 위해 필요한 데이터에 통계 분석, 추세 분석 또는 예측 모델링 기술을 적용합니다. 이러한 방법은 과거 또는 예상 패턴을 고려하고 이를 미래에 예측하여 예상되는 워크로드 수요를 추정합니다. 수요를 예측하려면 다음 전략을 고려하십시오.

다양한 시나리오에 대한 계정

성능 계획의 일부로 발생할 수 있는 다양한 시나리오에 대한 계획을 세워야 합니다. 이 계획에는 예측 가능한 성장 패턴과 예상치 못한 수요 급증이 모두 포함되어야 합니다. 사용 패턴은 늘어날 수도 줄어들 수도 있습니다. 유기적(사용자 수 증가 또는 감소) 또는 비유기적(이벤트 또는 보안 인시던트)일 수 있습니다. 다음과 같은 주요 시기에 사용량이 변경되기 전에 계획을 수립해야 합니다.

  • 설계(예측)
  • 정기적인 급증(오전 8시 로그인 급증)
  • 출시(예측 유효성 검사)
  • 비즈니스 모델 변경
  • 인수 또는 합병
  • 마케팅 추진
  • 계절적 변화
  • 기능 출시
  • 주기적으로

예측 기법 사용

서비스나 제품에 대한 미래 수요 예측에는 통계 분석, 추세 분석, 예측 모델링과 같은 기술을 사용하는 작업이 포함됩니다.

다음은 이러한 기술을 사용하는 방법에 대한 개요입니다.

  • 통계 분석: 통계적 방법은 과거 데이터 내의 패턴과 관계를 발견하는 데 도움이 될 수 있습니다. 이러한 패턴을 사용하여 미래 수요를 예측할 수 있습니다. 시계열 분석, 회귀 분석, 이동 평균과 같은 기술을 사용하여 데이터의 추세, 계절성 및 기타 패턴을 식별할 수 있습니다.

  • 추세 분석: 추세 분석은 과거 데이터를 검토하여 일관된 패턴을 파악하고 이러한 패턴을 미래에 적용하는 것을 포함합니다. 예를 들어 지난 해 워크로드 수요가 10% 증가했다면 이 추세가 계속될 것으로 예측할 수 있습니다. 일정 기간 동안의 과거 수요 데이터를 분석하면 증가 또는 감소 추세를 식별할 수 있습니다. 이러한 추세를 미래 수요 예측을 위한 기초로 활용하세요. 추세 분석을 통해 트래픽(무기)의 급격한 변화를 일으키는 일회성 이벤트의 영향도 식별할 수 있습니다. 예를 들어 기능 릴리스로 인해 수요가 지속적으로 5% 증가할 수 있습니다. 1년에 4번의 주요 릴리스가 있는 경우 매번 5%의 성장을 계획해야 합니다.

  • 예측 모델링: 예측 모델링은 과거 데이터와 기타 관련 변수를 사용하여 미래 수요에 대한 예측을 하는 수학적 모델을 구축하는 프로세스입니다. 기계 학습 알고리즘, 신경망 또는 의사 결정 트리와 같은 기술을 사용할 수 있습니다. 이러한 모델은 보다 정확한 예측을 제공하기 위해 여러 요인과 변수를 고려할 수 있습니다.

워크로드 목표에 맞게 예측 조정

워크로드 목표에 맞춰 예측을 조정하려면 예측 용량 모델을 조정하여 특정 워크로드의 특정 목표와 수요를 충족하는지 확인해야 합니다. 이러한 맞춤은 리소스가 적절하게 프로비저닝되도록 하여 활용도 저하와 잠재적인 작업 부하를 모두 방지합니다. 예를 들어 야간 100만 업데이트 통합을 지원하려고 하는데 현재 데이터에서 업데이트 속도가 느린 경우 시스템을 조정해야 합니다. 워크로드의 요구 사항을 파악하려면 이해 관계자와 대화하는 것이 중요합니다. 계획이 서비스 공급자의 약속(SLA)에 부합하는지 확인합니다. 이러한 맞춤은 용량이 예상 수요를 충족하는지 확인하고 변경이 필요할 수 있는 시스템 영역을 정확히 찾아내는 데 도움이 됩니다.

리소스 요구 사항 결정

워크로드에는 많은 리소스가 포함될 수 있으므로 리소스 요구 사항을 결정하기 위해 관찰할 단일 메트릭은 없습니다. 의미 있는 결과를 얻으려면 리소스 수준에서 용량을 측정해야 합니다. 과거 데이터, 시장 동향 및 비즈니스 예측을 기반으로 리소스에 대한 예상 수요를 예측합니다. 트랜잭션 수, 동시 사용자 또는 기타 관련 메트릭을 고려하세요.

예측된 수요를 기반으로 해당 수요를 충족하는 데 필요한 리소스를 계산합니다. API 요청 용량, 네트워크 대역폭, 스토리지 용량, 인력 등의 요소를 고려하세요.

  • 네트워크 대역폭: 예상되는 트래픽 수준을 지원하는 데 필요한 네트워크 대역폭을 평가하세요. 서버와 클라이언트 간의 원활하고 효율적인 통신을 보장하려면 인바운드 및 아웃바운드 데이터 전송 속도를 모두 포함해야 합니다.

  • 저장 용량: 예상 수요 동안 작업 부하가 생성하거나 처리하는 데이터 양을 추정합니다. 데이터베이스 크기, 파일 스토리지 요구 사항, 애플리케이션과 관련된 기타 데이터 스토리지 요구 사항 등의 요소를 고려하세요.

  • API 요청: 사용 가능한 용량과 서비스 보호 한도에 대해 API 요청 소비량을 평가합니다. 데이터의 초기 로드 및 사용량 급증 가능성과 같은 요소를 고려하세요.

  • 인력: 인프라를 관리하고 유지하고, 고객 지원을 처리하고, 시스템 유지 관리를 수행하고, 원활한 운영을 보장하는 데 필요한 인적 자원을 평가합니다. 워크로드 분산, 기술 세트 및 필요한 전문 지식과 같은 요소를 고려하십시오.

리소스 제한 사항 이해

워크로드의 리소스에는 성능 제한이 있습니다. 각 서비스 내의 기능에는 성능 제한이 적용됩니다. 워크로드에서 리소스의 제한 사항을 이해하고 이러한 제한 사항을 설계 결정에 반영해야 합니다. 예를 들어, 리소스 제한으로 인해 설계 접근 방식을 변경해야 하는지 아니면 리소스를 모두 변경해야 하는지 알아야 합니다.

또한 워크로드의 최대 임계값 또는 경계를 식별하는 것과 관련된 도달 가능한 제한을 결정해야 합니다. 이러한 제한은 일반적으로 인프라(컴퓨팅, 스토리지, 네트워크), 애플리케이션(동시 연결, 응답 횟수, 가용성) 및 서비스(초당 요청 수)에 적용됩니다. 용량 계획에서 도달 가능한 제한을 식별한 경우 제한으로 인해 성능 문제가 발생하기 전에 작업 부하를 수정해야 합니다. 성능 기준선, 지속적인 모니터링 및 테스트는 한계와 솔루션을 검증하는 데 필수적입니다.

트레이드오프: 용량 계획을 잘못 판단하면 리소스가 과도하게 공급되거나 공급이 부족해질 수 있습니다. 과잉 프로비저닝은 비용 증가로 이어질 수 있습니다. 프로비저닝이 부족하면 성능이 저하될 수 있습니다. 또한 존재하지 않는 성능 문제를 조사하는 데 시간을 낭비하게 할 수 있는 잘못된 긍정 경고 비율이 높아질 수도 있습니다. 적절한 균형을 찾으십시오.

Power Platform 간편 사용

용량 데이터 수집 및 수요 예측: Azure Monitor 를 사용하면 애플리케이션과 인프라에서 원격 측정 데이터를 수집하고 분석할 수 있습니다. 가상 머신, 컨테이너, 스토리지 계정을 포함한 다양한 Azure 리소스에 대한 모니터링을 지원합니다. 주요 도구에는 Application InsightsLog Analytics가 포함됩니다. 데이터 수집을 구성하고 모니터링할 메트릭과 로그를 정의하면 분석을 위해 귀중한 워크로드 데이터를 수집할 수 있습니다. 네트워크 모니터링의 경우 Azure Monitor를 Azure Network Watcher, Azure Monitor 네트워크 인사이트 및 Azure Azure ExpressRoute 모니터링과 결합합니다.

Azure Monitor를 사용하면 과거 데이터를 분석하고 예측 기술을 적용하여 향후 워크로드 추세 및 용량 요구 사항을 예측할 수 있습니다. 용량 계획에 도움이 되는 예측을 생성할 수 있습니다. 이러한 예측은 예측된 수요 패턴을 사용하여 서버 용량, 네트워크 대역폭, 스토리지 용량 및 기타 리소스 요구 사항을 예측하는 데 도움이 됩니다.

리소스 요구 사항 결정: Azure 도구와 서비스는 광범위한 구성을 제공하므로 기술적 요구 사항을 정의하는 데 도움이 될 수 있습니다. 워크로드 요구 사항을 사용 가능한 Azure 리소스에 맞게 조정하여 기능적 요구 사항에 맞는 적절한 구성 요소 및 설정을 선택할 수 있습니다.

리소스 제한 이해: Power Platform 각각의 다양한 서비스의 성능 제한을 이해하는 데 도움이 되는 문서와 리소스를 제공합니다. 이러한 제한 사항을 고려하면 정보에 입각한 설계 결정을 내리고 성능과 비용 효율성을 위해 워크로드 아키텍처를 최적화하는 데 도움이 될 수 있습니다.

구성 및 서비스에는 알아야 할 확장 제한이 있습니다. 설명서를 읽거나 테스트를 실행할 수 있습니다. 자세한 내용은 다음을 참조하세요.

캔버스 앱에서 데이터 호출 사용: 캔버스 앱의 데이터 호출 흐름은 OData 프로토콜을 통한 커넥터를 사용하여 데이터를 표 형식 데이터 소스로 보냅니다. OData는 백 엔드 레이어로 흐름을 요청하여 대상 데이터 원본에 연결하고 클라이언트에 대한 데이터를 검색하거나 데이터를 데이터 원본에 커밋합니다. API를 활성화하는 작업 기반 커넥터는 동일한 방식으로 작동합니다.

캔버스 앱에서 OData 및 API 요청이 이동하는 방식을 이해하면 캔버스 앱 성능과 백 엔드 데이터 원본을 최적화할 수 있습니다. 자세한 내용은 캔버스 앱의 데이터 호출 흐름을 참조하세요.

성능 효율성 체크리스트

전체 권장 사항 세트를 참조하세요.