다음을 통해 공유


지속적인 성능 최적화를 위한 권장 사항

Power Platform Well-Architected 성능 효율성 체크리스트 권장 사항에 적용됩니다.

PE:10 지속적으로 성능을 최적화합니다. 데이터베이스 및 네트워킹 기능과 같이 시간이 지남에 따라 성능이 저하되는 구성 요소에 집중합니다.

이 가이드에서는 지속적인 성능 최적화를 위한 권장 사항을 설명합니다. 지속적인 성능 최적화는 성능 효율성을 지속적으로 모니터링, 분석 및 개선하는 프로세스입니다. 성능 최적화는 워크로드 수명 동안 지속적인 활동이어야 합니다. 워크로드 성능은 시간이 지남에 따라 저하되거나 과도해질 수 있습니다. 고려해야 할 요소에는 사용 패턴의 변화, 저장되는 데이터의 증가, 수요, 기능 및 기술 부채가 포함됩니다.

정의

용어 정의
기술 부채 누적된 비효율성, 차선의 디자인 선택 또는 코드를 더 빠르게 전달하기 위해 개발 프로세스 중에 의도적으로 취한 지름길입니다.
라이브 전환 시간 데이터의 만료 시간을 설정하는 메커니즘입니다.

주요 디자인 전략

성능 효율성은 워크로드 용량이 실제 사용량에 맞춰질 때 달성됩니다. 성과가 초과되는 워크로드는 성과가 저조한 워크로드만큼 문제가 됩니다. 장단점이 다릅니다. 과잉 성능은 비용 최적화에 영향을 미칩니다. 성능 저하가 사용자에게 영향을 줍니다. 성능 효율성의 핵심은 시간 경과에 따른 모니터링, 조정 및 테스트입니다. 성능 메트릭을 정기적으로 검토하고 필요에 따라 조정하여 워크로드가 효율적인지 확인해야 합니다. 성능 목표에 도달하려면 구현 전후에 모든 변경 사항을 테스트해야 합니다.

성과 문화 조성

성과 문화는 지속적인 개선이 기대되고 팀이 생산을 통해 학습하는 환경입니다. 성능 최적화에는 전문 기술이 필요합니다. 워크로드 팀은 수요 증가 및 감소를 충족하기 위해 성과를 최적화할 수 있는 올바른 기술과 사고방식이 필요합니다. 또한 성능 문제가 발생할 때 필요한 모니터링 및 수정을 지원하기 위해 시간을 할당해야 합니다. 이러한 팀에는 명확한 기대치가 필요합니다. 예를 들어, 성과 목표, 기준선 및 편차 임계값(기준선에서 허용되는 거리)은 눈에 잘 띄고 사회화되어야 합니다.

트레이드오프: 지속적인 성능 최적화를 위해서는 성능 문제를 찾아 해결할 수 있는 적절한 기술과 시간을 갖춘 팀이 필요합니다. 인력을 성과에 투입하면 운영 비용이 추가됩니다. 인력 자원이 제한되어 있는 경우 지속적인 성능 최적화로 인해 다른 운영 작업에 시간을 빼앗길 수 있습니다.

새로운 플랫폼 기능 평가

새로운 플랫폼 기능을 평가하려면 최적화된 데이터 쿼리 방법, 최신 컨트롤 또는 캐싱 메커니즘과 같이 성능 효율성을 향상시킬 수 있는 새로운 기능을 검토해야 합니다. 새로운 플랫폼 기능은 성능 효율성을 향상시킬 수 있는 길을 열 수 있습니다. 플랫폼 기능을 최신 상태로 유지하여 최신 혁신과 모범 사례를 사용하고 있는지 확인하세요. 이러한 새로운 추가 사항의 피드백 및 성능 메트릭을 지속적으로 모니터링하여 접근 방식을 개선하세요.

최적화 노력의 우선 순위 지정

사전 예방적 성능 최적화는 성능 문제가 발생하기 전에 워크로드의 성능을 개선하고 향상시키기 위한 조치를 취하는 것을 의미합니다. 사전 예방적 조치를 사용하려면 잠재적인 병목 현상을 식별하고, 성능 메트릭을 모니터링하고, 최적화를 구현하여 워크로드가 효율적으로 작동하고 원하는 성능 목표를 충족하도록 해야 합니다. 노후화된 구성 요소, 중요한 흐름 및 기술 부채에 대한 분석을 기반으로 각 영역에 맞는 성능 최적화를 구현할 수 있습니다. 개선 사항에는 코드 변경, 인프라 조정 또는 구성 업데이트가 포함될 수 있습니다.

노후화된 구성 요소의 우선 순위 지정

워크로드가 발전하고 사용 패턴이 변경됨에 따라 이러한 변경은 워크로드의 개별 구성 요소 성능에 영향을 미치는 경우가 많습니다. 데이터베이스의 데이터가 증가하면 쿼리 실행 시간이 길어지고 데이터 검색 속도가 느려질 수 있습니다. 사용 패턴이 변경되면 쿼리 디자인이 최적화되지 않을 수 있습니다. 한때 효율적이었던 쿼리는 워크로드가 발전함에 따라 비효율적이 될 수 있습니다. 비효율적인 쿼리는 과도한 리소스를 소비하고 데이터베이스 성능을 저하시킬 수 있습니다.

시간이 지남에 따라 성능이 저하되는 구성 요소의 성능을 최적화하기 위해 지속적인 노력을 기울이는 것이 중요합니다. 워크로드의 성능 문제를 사전에 식별하고 해결합니다. 알려진 성능 저하 구성 요소의 우선 순위를 지정하면 잠재적인 성능 문제를 사전에 해결하고 워크로드의 원활한 운영을 보장할 수 있습니다. 성능 튜닝 기술을 구현하거나 리소스 할당을 최적화하는 것이 좋습니다.

중요한 사용자 및 시스템 흐름의 우선 순위 지정

중요한 사용자 및 시스템 흐름은 워크로드에서 가장 중요하고 우선 순위가 높은 프로세스 또는 워크플로입니다. 이러한 중요한 흐름의 우선 순위를 지정하면 워크로드의 가장 중요한 부분이 성능에 최적화되도록 할 수 있습니다. 어떤 흐름이 중요한지 알면 최적화 작업의 우선 순위를 지정하는 데 도움이 됩니다. 애플리케이션의 가장 중요한 영역의 성능 효율성을 최적화하면 최고의 투자 수익을 얻을 수 있습니다. 중요한 흐름과 응용 프로그램의 가장 인기 있는 부분을 모니터링해야 합니다. 더 효율적으로 만들 수 있는 방법을 찾으십시오.

성능 최적화 자동화

자동화는 반복적이고 시간이 많이 소요되는 수동 프로세스를 제거하여 효율적으로 수행할 수 있습니다. 자동화는 인적 오류의 가능성을 줄이고 최적화 작업 실행의 일관성을 보장합니다. 이러한 작업을 자동화하면 사람들이 더 복잡한 활동과 가치를 더하는 활동에 집중할 수 있습니다. 성능 테스트, 배포 및 모니터링과 같은 다양한 작업에 자동화를 적용할 수 있습니다.

  • 자동화된 성능 테스트: Selenium과 같은 자동화된 성능 테스트 도구를 사용하여 다양한 워크로드 및 시나리오를 시뮬레이션합니다. Power Apps 테스트 엔진은 Power Apps에서 독립 실행형 캔버스 앱을 테스트하는 데 사용할 수 있는 Power Platform CLI 내의 구성 요소입니다.

  • 자동화된 배포: 자동화된 배포 프로세스를 구현하여 일관되고 오류 없는 배포를 보장합니다. CI/CD(지속적인 통합/지속적인 업데이트) 도구를 사용하여 배포 프로세스를 자동화합니다. 이러한 도구를 사용하면 엔드포인트에 대해 테스트하고, HTTP 상태를 확인하고, 데이터 품질 및 변형의 유효성을 검사하는 데 사용할 때 성능 병목 현상을 식별하는 데 도움이 될 수 있습니다.

  • 모니터링 및 경고: 자동화된 모니터링 및 경고 시스템을 설정하여 성능 메트릭을 지속적으로 모니터링하고 편차 또는 이상 징후를 감지합니다. 성능 문제가 감지되면 자동화된 경고를 트리거하여 해당 팀 또는 개인에게 알릴 수 있습니다.

  • 인시던트 관리: 경고를 수신하고, 티켓을 만들고, 해결을 위해 적절한 팀에 티켓을 할당할 수 있는 자동화된 인시던트 관리 시스템을 구현합니다. 이러한 단계는 성능 문제를 신속하게 해결하고 올바른 리소스에 할당하는 데 도움이 됩니다.

  • 자동화된 진단: 성능 데이터를 분석하고 성능 문제의 근본 원인을 식별할 수 있는 자동화된 진단 도구 또는 스크립트를 개발합니다. 이러한 도구는 성능 문제를 일으키는 시스템의 특정 영역 또는 구성 요소를 정확히 찾아내는 데 도움이 될 수 있습니다.

  • 자동화된 수정 작업: 특정 성능 문제가 감지될 때 트리거할 수 있는 자동화된 수정 작업을 정의하고 구현합니다. 이러한 작업에는 서비스 다시 시작, 리소스 할당 조정, 캐시 지우기 또는 기타 성능 최적화 기술 구현이 포함될 수 있습니다.

  • 자가 복구 시스템: 알려진 성능 문제에 대한 복구 프로세스를 자동화하여 시스템에 자체 복구 기능을 구축합니다. 이 기능에는 최적의 성능을 복원하기 위해 시스템 구성을 자동으로 수정하거나 조정하는 작업이 포함될 수 있습니다.

기술 부채 해결

기술 부채는 누적된 비효율성, 차선의 설계 선택 또는 성능에 영향을 줄 수 있는 개발 프로세스 중에 취한 지름길을 나타냅니다. 기술 부채, 불분명한 코드, 지나치게 복잡한 구현으로 인해 성능 효율성을 달성하기가 더 어려워질 수 있습니다. 기술 부채 해결에는 이러한 문제를 식별하고 해결하여 워크로드의 전반적인 성능과 유지 관리 가능성을 개선하는 작업이 포함됩니다. 이 작업에는 코드 리팩터링, 데이터베이스 쿼리 최적화, 아키텍처 디자인 개선 또는 모범 사례 구현이 포함될 수 있습니다. 예를 들어, 기한을 맞추기 위해 기술 부채를 도입했을 수 있으며, 시간이 지남에 따라 성능 효율성을 최적화하면서 기술 부채를 해결해야 합니다.

데이터베이스 최적화

데이터베이스를 지속적으로 최적화하려면 데이터베이스가 부하를 처리하고, 빠른 응답 시간을 제공하고, 리소스 사용률을 최소화할 수 있도록 최적화를 식별하고 구현해야 합니다. 데이터베이스를 정기적으로 최적화하면 응용 프로그램 성능을 개선하고 가동 중지 시간을 줄이며 전반적인 사용자 환경을 향상시킬 수 있습니다.

  • 데이터베이스 쿼리 최적화: 잘못 작성된 데이터베이스 쿼리는 데이터베이스 성능을 저하시킬 수 있습니다. 비효율적인 필터로 인해 불필요한 데이터 처리가 발생할 수 있습니다. 복잡한 하위 쿼리, 중첩된 쿼리 및 과도한 함수는 실행 속도를 저하시킬 수 있습니다. 너무 많은 데이터를 검색하는 쿼리를 다시 작성합니다. 가장 일반적이거나 중요한 데이터베이스 쿼리를 식별하고 최적화합니다. 최적화는 더 빠른 쿼리를 보장하는 데 도움이 됩니다.
  • 모델 디자인 검토: 데이터 모델을 검토하여 애플리케이션의 특정 요구 사항에 맞게 최적화해야 합니다.

Power Platform 간편 사용

성능 최적화 자동화: 솔루션 검사기는 정적 분석을 기반으로 성능 권장 사항을 제공하며, 일련의 모범 사례 규칙과 솔루션을 비교하여 문제가 있는 패턴을 빠르게 식별합니다. 이러한 권장 사항을 정기적으로 검토하고 해결해야 합니다.

성능 최적화 모니터링: Power Platform 워크로드를 Application Insights와 통합하여 성능 최적화를 위한 인사이트와 권장 사항을 얻으세요.

Copilot Studio에서 에이전트 성과 및 사용량 분석: Copilot Analytics는 에이전트 성과에 대한 포괄적인 개요를 제공합니다. 인공 지능(AI) 기술을 사용하여 에스컬레이션 속도, 포기율 및 해결률에 가장 큰 영향을 미치는 주제를 식별합니다. 대화 참여 비율과 결과를 추적하는 것은 에이전트 성과 지표를 측정하고 개선이 필요한 영역을 발견하는 데 필수적입니다.

성능 효율성 체크리스트

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