다음을 통해 공유


Windows 응용 프로그램 성능 소개

측정 로고

성능은 코드 측정 및 개선에 중점을 둔 소프트웨어 개발의 한 측면입니다. 이 문서를 읽고 나면 수반되는 성능, 성능이 사용자와 고객에게 중요한 이유, 응용 프로그램의 성능 측정 시작 방법에 대해 더 잘 알 수 있습니다.

응용 프로그램 성능이란?

성능은 응용 프로그램이 시스템의 리소스를 사용하여 설계한 작업을 수행하는 데 얼마나 효과적인지 측정한 것입니다. 프로그램에서 기본 디바이스와 상호 작용하는 방식의 다양한 측면을 다룹니다. 여기에는 다음과 같은 내용이 포함될 수 있습니다.

  • CPU 사용량
  • 메모리 소비
  • 전력 소비
  • 네트워크 및 저장소 사용률
  • 애니메이션 성능

등등

이러한 모든 다양한 속성에는 관련된 비용 요소가 있습니다. 예를 들면 응용 프로그램에서 사용하는 CPU 양은 얼마인가요? 사용자 대역폭을 얼마나 사용하나요? 내 응용 프로그램의 이 특정 페이지가 얼마나 빠르게 로드되나요? 따라서 측정은 성능의 핵심입니다.

중요한 이유는 무엇인가요?

사용자는 성능을 사용하는 소프트웨어의 기본 속성으로 기대합니다. 응용 프로그램이 응답하고 시스템 리소스를 효율적으로 사용하기를 원합니다. 성능 저하를 보이는 응용 프로그램은 불만의 원인이 되며, 이로 인해 사용자 참여가 감소할 수 있습니다. 따라서 고객에게 최상의 환경을 제공하려면 성능을 개발 워크플로의 정기적인 부분으로 만드는 것이 중요합니다.

응용 프로그램 성능을 측정해야 하는 경우는 언제인가요?

성능 그래프

응용 프로그램 성능은 개발 프로세스의 여러 단계에 걸쳐 있습니다. 이는 선택한 데이터 구조부터 응용 프로그램 빌드를 위해 선택한 기술에 이르기까지 모든 단계에 영향을 미칩니다.

응용 프로그램을 개발할 때 성능을 염두에 두고 응용 프로그램 업데이트 및 유지 관리의 일환으로 정기적인 성능 테스트를 수행하도록 계획합니다.

응용 프로그램 성능은 어떻게 측정하나요?

다음은 응용 프로그램 성능을 테스트하는 방법에 대한 몇 가지 제안 사항입니다.

  • 응용 프로그램에 대한 지식을 활용합니다. 사용자에게 가장 일반적인 시나리오를 이해하면 적절한 작업을 최적화하는 데 시간을 할애할 수 있습니다. 명확하지 않은 시나리오는 측정을 해석하기 어렵게 만들 수 있으므로 이 단계를 건너뛰지 마세요! 사용자가 응용 프로그램과 상호 작용하는 방법에 대한 데이터를 사용할 수 있는 경우 이 데이터를 살펴보는 것이 좋습니다.
    • 사용자가 가장 많은 시간을 보내는 곳은 어디인가요?
    • 고객이 소프트웨어로 수행하는 가장 중요한 작업은 무엇인가요?
    • 응용 프로그램의 하드웨어 요구 사항은 무엇인가요?
  • 가장 중요한 사용자 시나리오에 대한 성능 목표를 설정합니다.
  • 최적화하려는 내용을 정확하게 파악합니다. CPU인가요? 배터리인가요? 네트워크 처리량인가요?
  • 측정을 수행하는 데 사용할 도구를 선택합니다.
  • 테스트 시 과학적 사고방식을 적용합니다. 제어된 환경에서 벤치마크를 만듭니다. 그런 다음 변경 내용을 다시 측정하여 변경 내용이 응용 프로그램의 동작에 어떤 영향을 미치는지 확인합니다.
  • 테스트 환경에 회귀 테스트를 추가합니다. 그러면 성능 메트릭이 시간이 지남에 따라 회귀되지 않습니다. 최신 하드웨어는 복잡하며, 성능 향상의 영향을 측정하는 것은 어려운 작업일 수 있습니다. 이러한 방식으로 응용 프로그램 성능을 조사, 측정 및 테스트하면 작업에 미치는 영향을 파악할 수 있습니다.

결합 메트릭

일반적으로 분석 중에는 성능의 한 영역에 초점을 맞추지만 영역이 결합되는 경우가 많습니다. 한 영역이 개선되면 다른 영역의 개선에 영향을 미칠 수 있습니다.

예를 들어 전력 소비를 수정하는 것은 동기화 문제일 경우가 많습니다. 메모리 사용량을 줄이면 CPU를 사용하는 데 소요되는 시간이 줄어들 수 있습니다.

한 영역에서 소비된 추가 리소스가 다른 영역에서 더 큰 영향을 미치는 경우도 있습니다.

예를 들어 메모리 사용량을 늘리면 캐싱을 통해 네트워크 또는 저장소 사용률이 감소할 수 있습니다.

변경을 결정하는 것은 고객에게 가장 중요한 것이 무엇인지에 달려 있습니다. 이는 또한 성능 작업의 도전(그리고 재미!)의 일부이기도 합니다.

다음 단계

이 배경 지식을 활용하여 수행할 수 있는 몇 가지 작업은 다음과 같습니다.

  • 응용 프로그램의 가장 일반적인 시나리오를 식별합니다. 이는 측정하려는 작업의 기초가 됩니다.
  • 테스트 전략을 파악합니다. 테스트 환경 및 측정 도구 선택은 무엇인가요?

Windows 앱 성능 개요를 참조하여 성능 경험에 사용할 수 있는 도구 및 참고 자료에 대해 자세히 알아보세요.