Как вы профилируете свой веб-сайт / веб-приложение? - PullRequest
9 голосов
/ 31 октября 2010

Это сделано для того, чтобы узнать из опыта сообщества о аспектах веб-приложения Profiling.

Несколько лет назад я работал над очень крупным проектом на C ++ / Java с CORBA ORB имы использовали Rational Purify / CodeCoverage для инструментов, обнаружения утечек памяти и обнаружения узких мест в коде сервера.С тех пор у меня не было опыта использования таких инструментов на платформе .NET, работающих на чистом c # или с веб-приложением

  • Используете ли вы инструменты?
  • Вы оцениваете трафик и производите расчеты ожидаемой необходимой пропускной способности?
  • Вы по-разному определяете серверный код и отображение веб-страниц?
  • Какой инструмент покрытия кода вы используете?

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

Ответы [ 3 ]

5 голосов
/ 31 октября 2010

В качестве бесплатного решения для нагрузочного тестирования я использовал Pylot.Я уверен, что есть лучшие платные решения, если у вас есть бюджет.Если вы можете оценить трафик, это инструмент, по результатам которого вы оцениваете масштабируемость вашего проекта.Использование кэша вывода asp.net может значительно повысить производительность вашего сайта под нагрузкой, поэтому попробуйте это, если количество просмотров страниц в секунду меньше, чем требуется.

Для оптимизации скорости рендеринга на стороне клиента используйте:

  • Плагин YSlow Firefox
  • Плагин PageSpeed ​​firefox от Google
  • Плагин Firebug Firefox для проверки количества HTTP-запросов не является чрезмерным и ресурсы js / css

При разработке приложения для веб-форм asp.net вы можете включить трассировку страницы, изменив директиву страницы так, чтобы она содержала

<%@ Page Trace="true">

Это поможет вам найтиэлементы управления, которые отнимают больше времени.

Если у вас есть проблема с медленным кодом на стороне сервера, я обнаружил, что почти всегда база данных вызывает проблему.Вам нужно проверить SQL, который медленно возвращает результат;если вы найдете что-либо, вам нужно посмотреть на применение новых индексов к вашим таблицам.Если ваше приложение слишком болтливо с базой данных, вам нужно обратить внимание на уменьшение количества обращений к базе данных.Чтобы найти эти проблемы, вы можете использовать SQL Server Profiler;это идет в комплекте с SQL Server 2005/2008 Developer Edition.

Если у вас есть бюджет, вы определенно хотите проверить Redgate ANTS Performance Profiler для профилирования кода на стороне сервера.

1 голос
/ 21 ноября 2010

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

0 голосов
/ 08 марта 2013

Профилирование многоуровневого распределенного веб-приложения (на стороне сервера) демонстрирует высокоуровневый подход (профилирование на уровне URL):

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

Идея заключается в использовании существующих веб-журналы и преобразование их в диаграмму типа " one стоит 1000 слов ".

Этот подход может быть недостаточен для случаев использования, требующих более точногоуровень детализации, но он помог мне лично, и, возможно, стоит изучить.

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