특정 응용 프로그램의 네트워크 대역폭 사용을 모니터링하는 방법을 배우려고합니다. IPv4InterfaceStatistics
을보고 있는데 NIC 카드의 성능을 모니터하는 것 같습니다.
매초마다 얼마나 많은 대역폭이 소비되는지 확인하려면 특정 응용 프로그램을 모니터링하고 싶습니다.
이 작업을 수행하는 방법에 대한 예는 누구나 알고 있습니까? 당신은 당신이 층으로 상호 작용해야하는 위치는 레이어 3과 상호 작용을 시도 볼 http://en.wikipedia.org/wiki/OSI_model 당신은 OSI 모델에 익숙하다면특정 응용 프로그램의 네트워크 대역폭 사용을 모니터링하는 방법은 무엇입니까?
3
A
답변
3
using System;
using System.Diagnostics;
using System.Globalization;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Reflection;
using System.Text;
using System.Threading;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
while (true)
{
var bytesSentPerformanceCounter = new PerformanceCounter();
bytesSentPerformanceCounter.CategoryName = ".NET CLR Networking";
bytesSentPerformanceCounter.CounterName = "Bytes Sent";
bytesSentPerformanceCounter.InstanceName = GetInstanceName();
bytesSentPerformanceCounter.ReadOnly = true;
var bytesReceivedPerformanceCounter = new PerformanceCounter();
bytesReceivedPerformanceCounter.CategoryName = ".NET CLR Networking";
bytesReceivedPerformanceCounter.CounterName = "Bytes Received";
bytesReceivedPerformanceCounter.InstanceName = GetInstanceName();
bytesReceivedPerformanceCounter.ReadOnly = true;
Console.WriteLine("Bytes sent: {0}", bytesSentPerformanceCounter.RawValue);
Console.WriteLine("Bytes received: {0}", bytesReceivedPerformanceCounter.RawValue);
Thread.Sleep(1000);
}
}
private static string GetInstanceName()
{
string returnvalue = "not found";
//Checks bandwidth usage for CUPC.exe..Change it with your application Name
string applicationName = "CUPC";
PerformanceCounterCategory[] Array = PerformanceCounterCategory.GetCategories();
for (int i = 0; i < Array.Length; i++)
{
if (Array[i].CategoryName.Contains(".NET CLR Networking"))
foreach (var item in Array[i].GetInstanceNames())
{
if (item.ToLower().Contains(applicationName.ToString().ToLower()))
returnvalue = item;
}
}
return returnvalue;
}
}
}
-1
7
나는 당신이 할 수있는 사용하는 지금까지 어떤 클래스와 연결 측정 바이트, 특히 개별 바이트를 전송하는 경우 (이것은 코드가 어떻게 보이는지 모르기 때문에), 초당 바이트 수를 나누어 계산할 수 있어야하며, 너의 결과.
관련 문제
- 1. 내 Flash 응용 프로그램의 대역폭 사용을 확인하는 방법은 무엇입니까?
- 2. 프로그래밍 방식으로 C# 응용 프로그램의 대역폭 사용을 어떻게 제한합니까?
- 3. 네트워크에 연결되어있는 동안 안드로이드 응용 프로그램의 네트워크 사용을 발견하는 방법
- 4. 레거시 Java 응용 프로그램의 녹음 대역폭 사용량
- 5. 앱에서 iOS의 데이터 사용을 모니터링하는 방법은 무엇입니까?
- 6. C에서 네트워크 대역폭 측정 #
- 7. 응용 프로그램의 변경 사항을 모니터링하는 도구는 무엇입니까?
- 8. 데스크톱 Java 응용 프로그램의 대역폭 사용량 예측
- 9. 시간이 지남에 따라 응용 프로그램의 배터리 사용을 찾는 방법은 무엇입니까?
- 10. 네트워크 연결 대역폭을 모니터링하는 가장 좋은 도구
- 11. MySQL을 사용하여 네트워크 트래픽을 모니터링하는 방법은 무엇입니까?
- 12. 네트워크 활동을 모니터링하는 유용한 도구는 무엇입니까
- 13. Java에서 특정 인터페이스의 네트워크 사용을 모니터하는 방법은 무엇입니까?
- 14. 모바일 네트워크 세대와 대역폭
- 15. WCF 및 네트워크 대역폭 조절
- 16. IIS에서 웹 응용 프로그램의 성능을 모니터링하는 방법은 무엇입니까?
- 17. Windows Azure 대역폭 사용을 프로그래밍 방식으로 측정하는 방법은 무엇입니까?
- 18. NodeJS 서버의 대역폭 사용을 모니터/계산하는 방법은 무엇입니까?
- 19. Android - 애플리케이션 또는 프로세스별로 대역폭 사용을 추적하는 방법은 무엇입니까?
- 20. Windows 7에서 대용량 메모리 페이지의 JVM 사용을 모니터링하는 방법은 무엇입니까?
- 21. 활동 당 Android 앱의 배터리 사용을 모니터링하는 방법은 무엇입니까?
- 22. Hadoop 네트워크 대역폭 분석 도구
- 23. 응용 프로그램의 네트워크 트래픽
- 24. Java netty로 대역폭 사용을 올바르게 제한하는 방법은 무엇입니까?
- 25. 자바 프로세스의 네트워크 대역폭 제한
- 26. ASP.NET에서 컴퓨터의 CPU, 메모리 및 디스크 사용을 모니터링하는 방법은 무엇입니까?
- 27. 웹 응용 프로그램을 모니터링하는 방법은 무엇입니까?
- 28. 내 응용 프로그램의 CPU 사용을 확인하는 방법은 무엇입니까?
- 29. iPhone에서 내 앱의 네트워크 사용을 추적하는 방법은 무엇입니까?
- 30. android.net.TrafficStats가 모니터링하는 네트워크 트래픽이 발생합니까?
Windows 용 리소스 모니터. –
@DeepakMishra 나는 C#과 스택, serverfault가 아니기 때문에이 프로그래밍 방식으로 문제를 해결하려고한다. 그러나 나는 틀릴 수도있다. –
예 프로그래밍 방식으로이 문제를 해결하고 싶습니다 –