Контроль (сетевого) ресурса utlization и производительности приложения Windows

Понял. После удаления ld.gold и копирования ld как ld.gold процесс сборки прошел. Простой тест пройден.

5
задан Sameet 16 April 2009 в 10:12
поделиться

10 ответов

Вам необходимо разделить ваш мониторинг на две части:

  • Как система взаимодействует с сервером (количество выполненных вызовов)
  • Объем сетевого трафика (размер передаваемых данных для любых call)

Первой частью (по моему опыту) часто пренебрегают, хотя она имеет большое значение, потому что получение нового соединения часто намного дороже, чем трафик данных сам по себе.

Вы ничего не говорите нам о король используемых вами соединений (низкоуровневые вызовы tcpip, веб-службы, WCF или что-то еще), но я предлагаю:

  • Найдите способ определить, сколько раз ваше приложение вызывает сервер.
  • Найдите, сколько раз один вызов стоит затрат с точки зрения обмена данными

. Как отслеживать эти значения, во многом зависит от задействованной технологии, для некоторых это очень просто (если, например, вы используете веб-службу,настроить Fiddler для мониторинга вызовов и изучить результаты мониторинга очень просто), для других вам необходимо использовать анализатор трафика низкого уровня, например Wireshark или MS Network Monitor и узнайте, как фильтровать трафик в соответствии с IP-адресом сервера, используемыми портами и другими параметрами.

Если вы проясните архитектуру вашего приложения, я могу попытаться уточнить.

С уважением

С уважением

С уважением Массимо

2
ответ дан 18 December 2019 в 14:51
поделиться

Вы также можете использовать диспетчер задач для этого. Перейдите на вкладку процессов, затем View -> «Выбрать столбцы». Проверьте «байты чтения ввода-вывода» и «байты записи ввода-вывода». Затем найдите вашу программу в списке процессов, и вы сможете наблюдать совокупные значения.

2
ответ дан 18 December 2019 в 14:51
поделиться

Если вы хотите, чтобы это было встроено в вашу клиентскую кодовую базу и не использовалось внешнее средство, вы можете использовать Производительность Счетчики для получения доступа к этому и большинству других сообщений, сообщаемых системным монитором, диспетчером задач и т. Д.

0
ответ дан 18 December 2019 в 14:51
поделиться

Вы хотите посмотреть на perfmon (иначе называемый Performance Monitor в инструментах администрирования в меню «Пуск»).

Открыть в графическом представлении по умолчанию добавьте счетчик, выберите сетевой интерфейс, затем байт в секунду (или аналогичный счетчик), нажмите кнопку ОК, и все готово.

Вы можете поэкспериментировать с другими сетевыми счетчиками, поскольку их много, один из них будет делать именно то, что вы хотите. Вы также можете сохранить журналы perfmon в файл и просмотреть их впоследствии - вы увидите график целиком и сможете «увеличить» разделы. В качестве альтернативы, вы можете сохранять файлы в стиле журнала только с необработанными числами.

Вот краткое руководство по через perfmon в качестве инструмента администратора, как только вы это поймете, все остальное будет легко.

В Vista вы больше не могу добавлять отдельные счетчики,

0
ответ дан 18 December 2019 в 14:51
поделиться

Взгляните на эту статью: http://www.codeproject.com/KB/IP/apptraffwatcher.aspx

Вы можете разорвать исходный код и получить то, что вам нужно убедитесь, что загрузите / загрузите идентификатор процесса вашего приложения.

Похоже, он использует эту библиотеку для получения информации об объеме трафика: http://www.codeproject.com/KB/IP/trafficwatcher.aspx

2
ответ дан 18 December 2019 в 14:51
поделиться

Стандартный инструмент для мониторинга сети - Wireshark . Это позволяет очень гибко фильтровать сетевой трафик. Однако это может быть излишним для вашего приложения. Если вы используете чистый .NET, я бы посоветовал вам добавить регистрацию производительности в свои сетевые классы на стороне сервера - если вы используете классы библиотеки .Net, а затем наследовать от них свои собственные классы, которые добавляют статистику при отправке и получении данных.

3
ответ дан 18 December 2019 в 14:51
поделиться

Я попробовал perfmon и не смог наблюдать за нашей сетью трафика тоже нет. Но мне удалось это сделать в Performance Explorer в Visual Studio 2005 Team Suite.

Если у вас есть Team edition Visual Studio, вы можете настроить выборку / инструментарий в своем настольном приложении. Затем перейдите к параметрам сеанса. выберите События -> Windows Kernel Trace -> Сеть. Запустите свое приложение и позвольте Visual Studio записать данные. Затем сохраните отчет. (Мне нравится Microsoft за эту «функцию») перейдите в командную строку, перейдите к C: \ Program Files \ Microsoft Visual Studio 8 \ Team Tools \ Performance Tools и запустите "vsperfreport / CALLTRACE (имя файла) .vsp". csv, содержащий все сетевые пакеты, отправленные / полученные / размер / порт и т. д. настольным приложением.

Я знаю, что это было долгое решение, но я просто попробовал его в своем приложении .Net 2.0, и оно захватило всю нашу коммуникацию с Oracle Identity Manager и Oracle Database.

2
ответ дан 18 December 2019 в 14:51
поделиться

Это не ясно ваш пост, если вы используете HTTP-запросы. Вы указали, что сервер является веб-приложением, что подразумевает (возможно, неверно) для меня, что вы можете использовать протокол HTTP для отправки / получения данных от сервера к клиенту.

Если да, то одним из инструментов, который может быть полезен, является Скрипач . Этот инструмент будет отслеживать весь HTTP-трафик на вашей рабочей станции и исходящий, и он может (я считаю) отслеживать определенные сеансы и приложения. Приятно то, что вы можете видеть отдельные запросы и статистику по этим запросам, включая количество байтов ввода / вывода, время приема-передачи и другую полезную информацию.

Если вы не используете протокол HTTP, то этот инструмент победил. т помочь.

1
ответ дан 18 December 2019 в 14:51
поделиться

Я удивлен, что никто не предложил SysInternals (теперь Microsoft) Process Explorer (technet.microsoft.com/ en-us / sysinternals / bb896653.aspx). Если вы щелкните правой кнопкой мыши соответствующий исполняемый файл и щелкните левой кнопкой мыши свойства, появится диалоговое окно. Затем вы переключаетесь на вкладку производительности и можете отслеживать ввод-вывод исполняемого файла. На вкладке «График производительности» будет отображаться история использования ЦП и байтов ввода-вывода в динамике во времени. Это крутой и бесплатный инструмент.

1
ответ дан 18 December 2019 в 14:51
поделиться

Для этого варианта использования вам следует обратиться к ACE Analyst - подумайте о нем как о суперинтеллектуальном уровне поверх перехвата пакетов Wireshark. Вам нужно посмотреть на пакеты, чтобы понять истинную природу поведения приложения при его работе в сети.

0
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: