6

많은 네트워크 마술 (WMI, Ping 등)을하는 .NET Windows 서비스가 있습니다. 목록이 매우 길습니다. 최대한 간단하고 세부적으로 응용 프로그램이 사용하는 대역폭과 코드의 각 부분을 프로파일 링하고 싶습니다.NET 응용 프로그램의 네트워크 사용률을 프로파일하는 방법

저를 도울 수있는 도구가 있습니까? 예를 들어 Ants 프로파일 러는 메모리 프로파일 링 및 프로세서 활용 프로파일 링을 도와줍니다. 그러나 그것은 네트워크 프로파일 링을 많이하지 않습니다. 네트워크 프로파일 링을위한 ANT와 같은 것이 있습니까? 그렇지 않다면이 정보를 얻는 데있어서 제 선택권은 무엇입니까?

덕분에 몇 가지 답변에

응답

: 직접적 (나는 가능하다고 생각하지 않습니다) 코드에 링크 할 수없는 경우 도구, 그것은 할 필요가 무엇이든간에

설명 추가 프로세스가 사용하는 네트워크 트래픽을 추적 (파일 또는 데이터베이스에 로깅)하는 일 동안 무인으로 실행할 수 있습니다. 프로세스를 직접 지정할 수 있어야합니다 (wireshark는 할 수 없습니다). 그러나 Microsoft Network Monitor를 사용하면 성능 문제로 인해 사용할 수없는 훨씬 많은 구문 분석 (프레임별로 구문 분석)을 수행 할 수 있습니다 (몇 시간 동안 실행하면 이미 백만 개의 프레임이 계산됩니다.) 물건을 엑셀이나 데이터베이스에 복사하려고하면 혼자 복사하는 데 30 분 이상 걸립니다).

정말 간단한 일처럼 보일지 모르지만, 나는 내가 원하는 것을 할 수있는 도구를 찾는 데 의외로 어려움을 겪고 있습니다.

답변

1

Wireshark 유틸리티를 사용하여 서비스가 실행중인 컴퓨터에서 나가는 모든 패킷을 캡처 할 수 있습니다. 그런 다음 해당 패킷을 제한하여 해당 패킷을 제한 할 수 있습니다. 이 정보를 사용하여 원하는 측정 항목을 찾을 수 있습니다.

+0

아마도 그럴 수는 있지만 그다지 쉽지는 않을 것입니다. 한 가지는 프로세스와 같이 필터링 할 수있는 것처럼 보이지 않습니다. 둘째, ANT 프로파일 러가 메모리 및 프로세서 성능을 수행하는 것처럼 코드에 코드를 전혀 연결하지 않습니다. 그래서 예, 이것은 한 걸음이지만 저는 더 많은 것을 찾고 있습니다. – Mark

+0

어려운 이유는 out-of-process 정보를 추적하여 in-process 특성과 상호 연관 시키려하기 때문입니다. 이러한 다른 도구가 잘 작동하는 이유는 모두 관리되는 in-process 코드와 관련되기 때문입니다. WCF를 사용하는 경우 조금 더 잘 추적 할 수 있지만 OoP 문제는 여전히 처리 중입니다. –

1

나는 꽤 SocketSniff을 좋아한다. 단일 실행 프로세스에 연결하고 모든 소켓 관련 트래픽을 표시합니다. WireShare처럼 훌륭한 디코딩 기능은 없지만 많은 잡음을 제거합니다.

관련 문제