Профилирование запросов веб-приложений - PullRequest
1 голос
/ 05 ноября 2010

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

Например, мне нужно иметь возможность документировать менеджерам, что загрузка конкретной страницы заняла 5 секунд и теперь занимает 1 секунду.

Существуют ли какие-либо инструменты, которые могут помочь с этим? Он не является общедоступным веб-сайтом и написан на ASP.NET MVC.

Ответы [ 3 ]

2 голосов
/ 05 ноября 2010

Я использую fiddler для проверки производительности моих веб-страниц.

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

Обычно для любого запроса выдается информация о сроках, как показано ниже

ACTUAL PERFORMANCE
--------------
ClientConnected:    11:02:55.765
ClientBeginRequest: 11:02:55.765
ClientDoneRequest:  11:02:55.765
Gateway Determination:  0ms
DNS Lookup:         0ms
TCP/IP Connect:     0ms
ServerConnected:    11:02:55.765
FiddlerBeginRequest:    11:02:55.765
ServerGotRequest:   11:02:55.765
ServerBeginResponse:    11:02:55.890
ServerDoneResponse: 11:02:56.546
ClientBeginResponse:    11:02:56.546
ClientDoneResponse: 11:02:56.546

    Overall Elapsed:    00:00:00.7812500

РЕДАКТИРОВАТЬ: Вы также можете сохранить весь сеанс в виде архива сеанса - который может быть использован для документирования результатов определенной последовательности событий и достигнутой производительности. Это может использоваться как «документация», чтобы произвести впечатление на ваших менеджеров и отслеживать улучшения производительности.

РЕДАКТИРОВАТЬ: Вы также можете сохранить сеанс Fiddlers в качестве веб-теста Visual Studio . Это помогает в создании тестов, особенно если вы используете инструменты веб-тестирования Visual Studio alt text

0 голосов
/ 05 ноября 2010

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

Обратите внимание, что это для ручного измерения.Существуют более сложные инструменты, если вы хотите выполнить автоматическое совершенное тестирование, которое будет запускать несколько сценариев, агрегировать данные и сравнивать их с базовым уровнем, чтобы дать вам дельту изменений.Если вы живете в мире Microsoft, вы можете использовать встроенные средства тестирования Visual Studio или автономный инструмент анализа веб-емкости.Если вы живете в мире открытого исходного кода, взгляните на Apache JMeter.Существует также ряд сторонних инструментов, которые отображаются при поиске «тестирования производительности веб-страницы».

0 голосов
/ 05 ноября 2010

Я справляюсь с этим, регистрируя время отклика в журнале доступа.Apache поддерживает это, поэтому вы можете прокси через прокси-сервер.IIS может поддерживать то же самое в пользовательском формате журнала.Однако ведение журнала на стороне сервера охватывает только скорость доставки страницы.

Воспринимаемое время отклика в значительной степени зависит от правильного HTML и CSS.Предоставление размеров для включенного контента может значительно ускорить время отрисовки страницы.Он может позволить визуализировать и стабилизировать видимую часть страницы до завершения загрузки страницы.

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

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

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