В трех словах: Производительность действительно важна!
Мое золотое правило довольно просто: вам нужно все измерить и оптимизировать все. Это не только чистая технологическая задача, но и деловая команда. Вот некоторые классические примеры от Velocity Conf.
- Bing - страница, которая была 2 секунды медленнее привело к падению доходов/пользователей 4,3%.
- Google - Задержка в 400 миллисекунд вызвала снижение на 0,59% запросов/пользователей.
- Yahoo! Упрощенный расчет! - Задержка в 400 миллисекунд привела к падению полностраничного трафика на 5-9%.
- Shopzilla - Ускорение своего сайта на 5 секунд увеличило коэффициент конверсии 7-12%, удвоило количество сеансов из поискового маркетинга и сократило количество требуемых серверов пополам.
- Mozilla - Бритье на 2,2 секунды с их целевых страниц увеличило загрузку конверсий на 15,4%, что, по их оценкам, приведет к 60 миллионам загрузок Firefox в год.
- Netflix - Принятие единой оптимизации gzip-сжатия привело к ускорению на 13-25% и сокращению их исходящего сетевого трафика на 50%.
Что измеряется в целом по всей отрасли? Есть ли у вас какие-либо рекомендации в терминах, которые должны быть выполнены, когда?
От Стива Соудерс, пионер в области оптимизации веб-производительности, «80-90% времени отклика конечного пользователя тратится на интерфейсе» Начало здесь первый: Слишком много запросов, Неоптимизированные изображения, не-Минимизированный content (js/css), не распространяйте статические данные через cdn, являются общими ошибками.
С другой стороны, не забудьте свой бэкэнд, потому что эта часть действительно зависит от нагрузки & деятельности. Некоторые сайты платят наибольшую сумму налога на прибыль из-за проблем с бэкэнд. Поскольку время генерации страницы увеличивается пропорционально нагрузке пользователя, вам нужно найти максимальную пропускную способность своего приложения и проверить, хорошо ли это с вашим SLA.
Есть ли у вас какие-либо рекомендации по инструменту для этого же?
Нет волшебного инструмента, который охватывает все темы, но многие полезные инструменты, которые помогут вам в определенной части вашего приложения.
- Page Rendering: Google Chrome Speedtracer или IE 11 UI Реагирование инструмент
- FrontEnd: PageSpeed, YSlow, WebPageTest.org (онлайн), GtMetrix (онлайн), Pingdom (онлайн)
- Backend: осина. чистая Мини-Profiler, Glimpse, Visual Studio Profiler & Visual Studio Web/нагрузочные тесты
- Google Analytics для РУМА (Real Monitoring User)
Могу ли я использовать веб-тесты Visual Studio для измерения производительности в условиях загрузки/отображения веб-страницы один раз после того, как клиент получит ответ . или его просто время отклика http ?.
Нет, Visual Studio Web & Загрузить тест сосредоточиться только на HTTP-запросе. Javascript не выполняется, а виртуальные пользователи не являются виртуальными браузерами: невозможно измерить время ладони/redner страницы. В моей компании мы используем его только для интеграционных тестов и нагрузочного тестирования.
Если вы хотите узнать больше, вы можете посмотреть на это post (disclamer: Я автор). Еще одна интересная ссылка - Джефф Этвуд (соучредитель StackOverflow), Performance is a feature.
Производительность - это обширная тема, и я здесь только покрываю небольшую часть, но у вас есть хорошая отправная точка.