시리즈 기사 색인
.NET 성능 튜닝 중 하나: ANTS 성능 프로파일러 사용
.NET 성능 조정 2부: Visual 사용 Studio에서 코드 측정
.NET 성능 조정 3부: YSlow 관련 규칙에 대한 조정 도구 및 방법
.NET 사용 애플리케이션을 시작하고 개발한 후 직면하게 되는 다음 문제는 프로그램 성능 튜닝일 수 있습니다. 성능 튜닝에는 때때로 프로그램 호스팅 시스템, 데이터베이스, 네트워크 환경 등과 같은 다양한 측면이 포함되며, 프로그램이 매우 크고 복잡할 경우 성능 튜닝이 필요합니다. 시작하기가 더욱 어려워질 것입니다.
이 시리즈의 기사에서는 주로 일부 .NET 성능 조정 도구, 웹 성능 최적화 규칙(예: YSlow) 및 방법 등을 소개합니다. 글이 쓰여지기 전에 마지막으로 보고 싶은 것은 "어떤 언어가 더 좋고, 어떤 언어가 더 성능이 좋은가"에 대한 끝없는 논쟁입니다. 실용적인 관점에서 시작하여 성능 최적화의 관점에서 문제를 논의해 보시기 바랍니다.
ANTS Performance Profiler는 RedGate의 강력한 성능 튜닝 제품입니다. 공식 제품 페이지는 여기입니다.
먼저 소프트웨어의 기본적인 사용법을 살펴보겠습니다.
간단한 테스트를 위해 다음 코드를 사용하세요.
이 프로그램은 매우 간단합니다. 먼저 10,000회 반복하여 합계를 출력한 다음 LINQ를 사용하여 목록에서 1000이라는 값을 찾아 출력합니다.
1 static void Main() 2 { 3 var list = new List<int>(); 4 5 var sum = 0; 6 for (var i = 0; i < 10000; i++) 7 { 8 sum += i; 9 list.Add(i);10 }11 Console.WriteLine(sum);12 13 //find the value use linq: 100014 var result = list.Where(p => p.Equals(1000));15 foreach (var i in result)16 {17 Console.WriteLine(i);18 }19 Console.ReadKey();20 }
프로그램을 컴파일한 후 ANTS Performance Profiler를 시작하면 마법사 페이지가 자동으로 팝업됩니다. 이 페이지에서 소프트웨어가 EXE와 같은 다양한 .NET 프로그램의 성능 모니터링을 지원하는 것을 확인할 수 있습니다. , 웹, Windows 서비스 등.
Performace Counters에서는 IO, 메모리 할당, 프로세서 등 필요에 따라 다양한 카운터를 선택할 수 있습니다.
DEMO 테스트를 위해서는 컴파일된 exe 파일 경로를 선택하세요. 방금은 디버그 컴파일이었기 때문에 프로그램 폴더 아래의 binDebug에서 exe를 선택하세요.
프로파일링 모드에서는 모니터링 수준을 선택할 수 있습니다. 이는 기본적으로 모니터링 정보의 양과 속도 사이의 균형을 맞추는 것입니다. 기본 선택은 "가장 상세함"입니다. 기타 자세한 설정은 도움말 문서를 참고하세요.
프로그램을 시작하려면 "프로파일링 시작"을 클릭하세요.
소프트웨어의 기본 작동 원리는 .NET으로 컴파일된 IL 코드에 후크를 넣어 시간을 기록하는 것입니다. 그런 다음 직관적인 인터페이스는 코드의 어느 부분이 가장 많은 에너지를 소비하는지 보여줍니다. 따라서 이는 성능 튜닝의 가장 직접적인 방법이며 가장 시간이 많이 걸리는 코드 세그먼트를 최적화하는 것입니다.
"프로파일링 시작"을 클릭하여 이전에 컴파일한 프로그램을 시작하면 소프트웨어가 실행됩니다. winform, 웹 등 다른 대화형 프로그램인 경우 해당 기능을 작동한 후 시작됩니다. 성능 조정이 필요한 경우 마우스를 사용하여 상단의 실행 타임라인에서 확인하려는 기간을 선택하면 됩니다. 일반적으로 성능 문제가 있는 기간 동안 피크가 발생하므로 해당 기간을 선택하면 됩니다.
선택 후 위의 DEMO처럼 가장 시간이 많이 걸리는 방법을 아래 결과창에서 바로 확인할 수 있습니다. 물론 성능도 소모됩니다. Main 기능이 우수합니다.
이 소프트웨어는 백분율 및 여러 시간 형식을 포함하여 성능 손실을 볼 수 있는 다양한 측정 값을 제공합니다. 여기서는 측정 단위로 "초"가 선택됩니다.
그런 다음 보고 싶은 기능을 선택하면 소프트웨어의 힘이 드러납니다.
에너지를 가장 많이 소모하는 코드를 빠르게 찾으려면 오른쪽의 빨간색 선을 클릭하세요. 색상이 어두울수록 에너지를 더 많이 소모하는 코드입니다.
왼쪽에는 줄 번호, 이 코드가 실행된 횟수(Hit Count), 평균 실행 시간, 총 실행 시간 및 물론 분석용 코드도 볼 수 있습니다.
DEMO에 있는 이 코드가 왜 Console.WriteLine을 처음 실행할 때 그렇게 많은 에너지를 소모하는지에 대해서는 첫 장을 읽어보시면 아실 수 있을 거라고 생각합니다. "C#을 통한 CLR"의 대답은 다음과 같습니다.
물론 계층 아이콘을 클릭하면 아래와 같이 보다 직관적인 성능 손실을 확인할 수도 있습니다.
이러한 계층 구조 다이어그램의 또 다른 이점은 .NET Framework의 내부 구현을 볼 수 있다는 것입니다.
이 기능은 기본 기능을 사용할지 타사 구성 요소를 사용할지 등의 결정을 내릴 때 내부 구현의 성능 병목 현상이 어디에 있는지 보다 직관적으로 확인할 수 있기 때문에 매우 유용합니다.
ANTS Performance Profiler는 제가 처음이자 가장 좋아하는 성능 튜닝 도구라서 첫 번째 글에 담아두었습니다. 나는 그것이 당신에게 도움이 될 수 있기를 바랍니다.
매우 직관적이고 강력합니다. 현재 진행 중인 복잡한 프로젝트는 DEMO에 적합하지 않기 때문에 실제로 성능 문제가 발생할 경우에만 데모용으로 간단한 코드를 작성했습니다. 그것을 경험해 보세요.
글에 누락이나 추가사항이 있을 경우 함께 논의할 수 있도록 메시지를 남겨주시고, 이어지는 관련 글에도 관심을 가져주시기 바랍니다.
글이 도움이 되셨다면 추천 부탁드려요 :)
위 내용은 ANTS 성능 프로파일러(.NET 성능 조정 튜토리얼)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!