Инструменты мониторинга опыта конечных пользователей


У меня есть веб-приложение с большим количеством как клиентской, так и серверной логики. Считается критически важным для бизнеса, чтобы это приложение чувствовало себя отзывчивым к конечному пользователю, для некоторого определения " чувствует себя отзывчивым.";)

Большинство дискуссий по мониторингу веб-сайтов вращаются вокруг отслеживания показателей на стороне сервера (время отклика, глубина очереди ввода-вывода, задержка, загрузка процессора и т. д.), то есть мы склонны рассматривать производительность и отзывчивость сервера так, как будто это жизнеспособный "прокси" для того, что пользователь испытывает.

К сожалению, по мере того, как мы все больше и больше перемещаем логику на клиентский Javascript, корреляция уменьшается, и наши метрики сервера становятся менее полезными.

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

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

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

7 20

7 ответов:

Существует несколько свободно доступных инструментов для мониторинга производительности. Yahoo open-sourced скрипт, который они использовали под названиемBoomerang , который может измерять время загрузки страниц и другие показатели производительности для конечных пользователей. полная документация здесь . Google analytics также предлагаетбазовый отчет о времени загрузки страницы .

Для мониторинга ошибок вы захотите прослушать окно.события onerror. Я не знаю ни одного скрипта, который будет автоматически регистрировать его для вас, или добывать журналы на компьютере. сторона сервера. Если вы реализуете свой собственный, Вы должны быть очень осторожны, чтобы не пинговать сервер слишком часто-представьте, сколько запросов он будет генерировать, если в вашем коде обработки ошибок JS будет ошибка JS!

Мне в первую очередь нужно собрать объемные данные о пользовательском опыте, включая как отзывчивость, так и ошибки поломок/сценариев.

=> именно для этого мы используем iMacros (и размещенную версию, AlertFox). iMacros выполняет измерения в различных реальных веб-браузерах (IE, Firefox,...). Инструменты доступны в виде бесплатных и платных версий. Информация, которую вы получаете, похожа на Dynatrace Ajax, но проще в использовании и дешевле.

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

Клиент Bucky и сервер Bucky, могут выполнить эту задачу:

Http://github.hubspot.com/bucky/

С их сайта:

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

Для анализа данных они советуют Graphite или OpenTSDB

Вы можете попробовать Atatus, который обеспечивает реальный мониторинг пользователей(RUM) и расширенное отслеживание ошибок для веб-сайтов и веб-приложений.

Https://www.atatus.com/

Http://www.whitefrost.com/documents/html/technical/dhtml/funmon.html#part1 проверяет производительность функций javascript.

Вы можете использовать Dynatrace Ajax для измерения и профилирования производительности JavaScript в IE и Firefox. Для Chrome они имеют встроенные инструменты - взгляните на: http://blog.chromium.org/2011/05/chrome-developer-tools-put-javascript.html

Для мониторинга производительности всего приложения / сайта я бы рекомендовал синтетический мониторинг с использованием реальных браузеров, также известный как веб-мониторинг производительности. Это службы, на которых сидят роботы-агенты Магистральные интернет-провайдеры выполняют те же действия, что и конечные пользователи. Мы используем Catchpoint , который поддерживает сценарии Selenium. Но есть и другие, такие как Гомес и Keynote, которые уже много лет предоставляют такие решения.

Вы также можете проверить новый Relic-теперь он имеет" реальный мониторинг пользователей " интегрирован-который измеряет производительность во всех типах браузеров. Существует 14-дневный пробный период, так что вы можете установить его бесплатно и посмотреть, если вам это нравится. Вы получите представление о скорости рендеринга браузера, обработке DOM, времени, которое он проводит в сети, вплоть до производительности вашего приложения на сервере.