Измерване на общите байтове, изпратени от уеб услуга с nettcpbinding с помощта на perfmon

Имам уеб услуга (WCF), излагаща както http крайни точки, така и tcp крайна точка (използвайки nettcpbinding). Опитвам се да измеря разликата в „общо изпратени байтове“, използвайки различните крайни точки.

Опитах да използвам perfmon и погледнах брояча на производителността: уеб услуга > общо изпратени байтове. Въпреки това изглежда, че това измерва само http трафика - може ли някой от вас да потвърди това? Не изглежда, че tcp трафикът увеличава числото.

Има и TCP категория в perfmon, но няма "общо изпратени байтове". Perfmon грешният инструмент ли е за работата?


person sreddy    schedule 26.09.2011    source източник


Отговори (1)


Решен. Измерих байтове, получени на клиента, като използвах код, подобен на:

NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
NetworkInterface lan = null;

       foreach (NetworkInterface networkInterface in interfaces)
        {
            if (networkInterface.Name.Equals("Local Area Connection"))
            {
                lan = networkInterface;
            }
        }

        IPv4InterfaceStatistics stats = lan.GetIPv4Statistics();
        Console.WriteLine("bytes received: " + stats.BytesReceived);

Направете това преди и след извикването на уеб услугата и разграничете 2-те стойности. Очевидно трябва да сте наясно, че друг трафик на клиента не пречи.

person sreddy    schedule 28.09.2011