Измерение производительности приложений конечного пользователя?
Недавно мне стало известно о проблеме, когда у нас возникла проблема с настройкой прокси, что привело к снижению производительности пользователей, просматривающих веб-сайты. У большинства наших ИТ-специалистов конфигурация немного отличается из-за того, как мы получаем доступ к средам разработки и тестирования, поэтому в итоге мы получили несколько расплывчатых слов: "Интернет работает медленно!" жалобы, прежде чем это исправить. Несколько месяцев назад у нас была проблема, когда ошибка в приложении приводила к снижению производительности на многих компьютерах... но нам было очень трудно ее обнаружить.
Эта проблема беспокоит меня, потому что это было то, что мы могли бы полностью решить заранее. Проблема в том, что у нас нет инструментария, который бы знал, что для выполнения задач, которые ежедневно выполняют наши пользователи, обычно требуется 5 секунд или 5 минут.
Кто-нибудь знает о бесплатном / дешевом инструменте, который позволил бы нам написать что-то вроде этого:
- Загрузите Internet Explorer, время запуска приложения
- Зайдите на google.com, время загрузки страницы
- Зайдите на example.com, время загрузки страницы
- Закрыть браузер
Мне бы хотелось, чтобы скрипт каждые 15 минут делал что-то подобное, чтобы запустить разработку базового уровня и выяснить, что означает "медленный" для пользователей. Интернет - это только один пример, я считаю, что это полезно для внутренних и других приложений.
4 ответа
Мне очень нравится идея мониторинга медлительности, прежде чем пользователи что-то заметят.
Я бы попробовал привязать его к любому программному обеспечению для мониторинга, которое вы уже используете (Nagios и т. Д.) Для удобства.
Каркас Cucumber выглядит интересно - http://cukes.info/ и для него есть плагин Nagios. (Google "Огурец-Нагиос")
Вы также можете создавать сценарии для Internet Explorer с помощью Powershell или другого языка сценариев. Хотя я всегда находил это более громоздким.
По моему мнению, сами приложения должны поддерживать мониторинг таких показателей с помощью любого стандартного пакета мониторинга, включая установку пороговых значений предупреждений по умолчанию. ^^ Однако большинство приложений не делают этого, я полагаю, с несколькими заметными исключениями, такими как Exchange с System Center Operations Manager и т. Д. на...
... в этом случае я бы смотрел на это как на проблему изучения юзабилити и юзабилити. Было бы полезно начать регулярное тестирование пользовательских рабочих процессов, даже если оно не автоматизировано.
Приложения, убивающие производительность на клиентах, могут быть отслежены с помощью надлежащего мониторинга производительности, хотя он должен включать в себя все виды метрик, которые могут замедлить ПК для сканирования, такие как загрузка процессора и памяти, загрузка и структура дискового и сетевого ввода-вывода и т. Д., В-четвертых - просто как с мониторингом сервера.
Я понимаю доступ к среде разработки и тестирования, но я решительный сторонник того, чтобы по крайней мере первая линия поддерживала парней на идентичных стандартных изображениях, сети и т. Д., Как и остальные пользователи, - если это невозможно реализовать для всех в отдел.
Использование серверов удаленного управления / многопользовательских рабочих станций для повседневной работы администратора - это простой способ не полагаться на локальный компьютер, настроенный определенным образом или с помощью специальных инструментов.
Если вам нужно знать производительность вашего веб-сайта и позже вы хотите диагностировать проблемы, вам нужно программное обеспечение для сетевого монитора.
Бесплатно Wireshark это хорошо. Для коммерческого использования подходит Capsa.
Вы смотрели на HP SitScope? Он не только будет извлекать информацию о вашей системе, включая потенциально SNMP-информацию, с вашего прокси-сервера, но вы также можете запускать сценарии мониторинга производительности приложений для Интернета. Эта технология выборки приложений является компонентом общей технологии с HP LoadRunner и HP Business Availability Center, который, по сути, является браузером без графического интерфейса пользователя, выполняющим задачи по сценарию. Оповещение и отчетность встроены в SiteScope.
Что-то, что вы могли бы также сделать на основе сценариев, это взглянуть на использование CURL с некоторыми таймерами вокруг начала и конца запроса. ПКОД может выглядеть примерно так
- НАЧАТЬ ВРЕМЯ В МИЛЛИСЕКОНДАХ
- ЗАПРОС НА ВЫПУСК СТРАНИЦЫ С ИСПОЛЬЗОВАНИЕМ CURL
- ПОЛУЧИТЕ ВРЕМЯ В МИЛЛИСЕКУНДАХ
- ВРЕМЯ НАЧАЛА СУБТРАКТА ОТ КОНЕЧНОГО ВРЕМЕНИ ДЛЯ ВРЕМЕНИ ЗАПРОСА
- НАЖМИТЕ ВРЕМЯ ЗАПРОСА К СЕРВЕРУ КОЛЛЕКЦИИ
- ЕСЛИ ВРЕМЯ ЗАПРОСА ПРЕВЫШАЕТ ЗНАЧЕНИЕ SLA, ПОСЛЕ ОТПРАВЛЕНИЯ УВЕДОМЛЕНИЯ В ГРУППУ
Вы можете легко использовать задачу chron для запуска описанного выше каждые пятнадцать минут или около того. Используйте ваш любимый язык сценариев для выполнения операции.