Производительность и мониторинг .NET Apps - PullRequest
1 голос
/ 21 декабря 2009

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

Приложение использует:

  1. SQL Server 2000 с пакетом обновления 4
  2. Основное веб-приложение (.NET 3.5)
  3. Две веб-службы (.NET 1.1)
  4. Biztalk 2004

Это приложение используют 30 человек.

Как я могу доказать, что я прав?

Ответы [ 5 ]

2 голосов
/ 21 декабря 2009

Вы можете подключить профилировщик как ANTS profiler или JetBrains DotTrace и посмотреть, где узкие места производительности приложения.

0 голосов
/ 21 декабря 2009

Вы можете использовать системный монитор производительности, встроенный в Windows, начиная с версии XP. Вы можете получить практически любую информацию, которая может вам понадобиться. Это включает процессорное время, использование памяти .NET (включая gen0 gen1 и gen2), использование собственной памяти, время, затраченное на сборку мусора, время доступа к диску и т. Д. Если вы просто выполняете поиск в проекте кода или только в Интернете, есть много примеров использования счетчик для проверки всего, что вы хотите.

Одним из преимуществ этого является то, что вам не нужно менять код, и его можно использовать с существующей системой.

Я считаю, что это лучшая отправная точка, чтобы указать вам, где вы должны искать узкие места и проблемы.

0 голосов
/ 21 декабря 2009

Счетчики производительности Windows - хороший способ получить основную информацию об общей производительности системы. Надлежащие счетчики покажут вам, действительно ли IO делает много вещей. Если вы возьмете числа со счетчиков и сравните их со спецификациями, вы сможете определить, максимально ли система работает или нет.

Если система работает на максимальном уровне, это проблема с веб-приложением, и ее следует профилировать, чтобы узнать, с чего начать оптимизацию.

0 голосов
/ 21 декабря 2009

Вы можете начать с использования SQL Server Profiler , чтобы получить представление об объеме трафика базы данных.

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

Visual Studio 2008 также имеет встроенные инструменты анализа производительности.

0 голосов
/ 21 декабря 2009

Одним из мест, которое вы можете начать, является получение профилировщика производительности, такого как профилировщик ANTS Red-Gate. Я использовал этот инструмент, и он очень полезен для устранения узких мест в производительности.

Randy

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...