성능은 코드 측정 및 개선에 중점을 둔 소프트웨어 개발의 한 측면입니다. 이 문서를 읽은 후에는 어떤 성능이 수반되는지, 사용자와 고객에게 중요한 이유, 애플리케이션의 성능 측정을 시작하는 방법을 더 잘 알 수 있습니다.
애플리케이션 성능이란?
성능은 애플리케이션이 시스템의 리소스를 사용하여 설계한 작업을 얼마나 효과적으로 수행하는지를 측정하는 척도입니다. 프로그램이 기본 디바이스와 상호 작용하는 방식의 다양한 측면을 다룹니다. 여기에는 다음과 같은 항목이 포함될 수 있습니다.
- CPU 사용량
- 메모리 소비
- 전력 소비량
- 네트워크 및 스토리지 사용률
- 애니메이션 성능
... 그리고 더 많은.
이러한 모든 속성에는 관련된 비용 요소가 있습니다. 예를 들어 애플리케이션에서 사용하는 CPU의 양 사용자의 대역폭은 얼마나 사용하나요? 내 애플리케이션의 이 특정 페이지가 얼마나 빨리 로드됩니까? 따라서 측정은 성능의 핵심입니다.
중요한 이유는 무엇인가요?
사용자는 사용하는 소프트웨어의 기본 속성으로 성능을 기대합니다. 애플리케이션이 응답하고 시스템 리소스를 효율적으로 사용하기를 원합니다. 성능이 저하되는 애플리케이션은 좌절을 일으키며 이로 인해 사용자 참여가 감소할 수 있습니다. 따라서 고객에게 최상의 환경을 제공하려면 성능을 개발 워크플로의 정기적인 부분으로 만드는 것이 중요합니다.
애플리케이션 성능을 측정해야 하는 경우는 언제인가요?
애플리케이션 성능은 개발 프로세스의 여러 단계에 걸쳐 있습니다. 이는 선택한 데이터 구조에서 애플리케이션 빌드를 위해 선택한 기술에 이르기까지 모든 것에 영향을 줍니다.
애플리케이션을 개발할 때 성능을 염두에 두고 애플리케이션 업데이트 및 유지 관리의 일환으로 정기적인 성능 테스트를 수행할 계획입니다.
애플리케이션 성능은 어떻게 측정되나요?
다음은 성능을 위해 애플리케이션 테스트에 접근하는 방법에 대한 몇 가지 제안 사항입니다.
- 애플리케이션에 대한 지식을 활용합니다. 사용자에게 가장 일반적인 시나리오를 이해하면 올바른 작업을 최적화하는 데 시간을 현명하게 소비할 수 있습니다. 불분명한 시나리오는 측정을 해석하기 어렵게 만들 수 있으므로 이 단계를 건너뛰지 마세요. 사용자가 애플리케이션과 상호 작용하는 방법에 대한 데이터를 사용할 수 있는 경우 이 데이터를 살펴보는 것이 좋습니다.
- 사용자가 대부분의 시간을 보내는 위치는 어디인가요?
- 고객이 소프트웨어로 수행하는 가장 중요한 작업은 무엇인가요?
- 애플리케이션의 하드웨어 요구 사항은 무엇인가요?
- 가장 중요한 사용자 시나리오에 대한 성능 목표를 설정합니다.
- 최적화하려는 항목에 대해 정확하게 설명합니다. CPU인가요? 배터리? 네트워크 처리량?
- 측정을 수행하는 데 사용할 도구를 선택합니다.
- 테스트할 때 과학적 사고방식을 적용합니다. 제어된 환경에서 벤치마크를 만듭니다. 그런 다음 변경 내용을 다시 측정하여 변경 내용이 애플리케이션의 동작에 미치는 영향을 확인합니다.
- 테스트 환경에 회귀 테스트를 추가합니다. 이렇게 하면 성능 메트릭이 시간이 지남에 따라 회귀하지 않습니다. 최신 하드웨어는 복잡하며 성능 향상의 영향을 측정하는 것은 어려울 수 있습니다. 이러한 방식으로 애플리케이션 성능을 조사, 측정 및 테스트하면 작업의 영향을 알 수 있습니다.
메트릭 엮기
일반적으로 분석하는 동안 성능의 한 영역에 집중하지만 영역이 얽혀 있는 경우가 많습니다. 하나의 개선은 다른 영역의 개선으로 연계 될 수 있습니다.
예를 들어 전력 소비를 수정하는 것은 종종 동기화 문제입니다. 메모리 사용량을 줄이면 CPU 사용 시간이 단축될 수 있습니다.
또한 한 영역에서 소비되는 추가 리소스가 다른 영역에서 더 큰 영향을 미치는 개선이 발생할 수 있습니다.
예를 들어 메모리 사용량을 늘리면 캐싱을 통해 네트워크 또는 스토리지 사용률이 감소할 수 있습니다.
변경을 결정하는 것은 고객에게 가장 중요한 사항에 따라 달라집니다. 또한 공연 작업의 도전 (그리고 재미!)의 일부입니다.
다음 단계
이 배경에서 수행할 수 있는 몇 가지 작업은 다음과 같습니다.
- 애플리케이션의 가장 일반적인 시나리오를 식별합니다. 측정하려는 항목의 기초가 됩니다.
- 테스트 전략을 파악합니다. 테스트 환경 및 측정 도구 선택은 무엇인가요?
Windows 앱 성능 개요로 이동하여 성능 경험에서 사용할 수 있는 도구 및 지침에 대해 자세히 알아보세요.
Windows developer