Тут у нас появляется ещё одна магическая константа в качестве значения по умолчанию она равна 0,20. Значения средних, дисперсии, корреляции и формулы линейной регрессии оказываются практически одинаковыми для всех наборов данных. Пожалуйста, разубедите меня в том, что за умение проводить перформанс-тестинг платят больше, нежели за мануальное и автоматизированное тестирование. На мой взгляд, начинать как Performance engineer очень классно, потому что специальность многопрофильная, можно понять работу разных дисциплин и набрать хорошую техническую базу.
Однако сомневаюсь, что встречали нормальное распределение в реальной жизни. Таким образом, Ося — намного более квалифицированный интуитивный перформанс-инженер, чем я. К счастью, её логику принятия решений удалось аппроксимировать монеткой. Такой подход позволяет значительно улучшить качество анализа. Набор ординат точек на всех картинках одинаковый, отличается только их порядок. При большом количестве тестов велика вероятность получить любую из этих картинок совершенно случайно.
Поговорим про перформанс-анализ
Бывало, что созданный перформанс-креатив настолько завирусился, что поднял узнаваемость бренда. Речь идет о мобильной игре Idle Evil Clicker про пытки в аду. Для нее мы сделали креатив с пыткой, еще не существовавшей в игре. Высокие показатели рекламных метрик сподвигли разработчиков из Red Machine решил добавить фичу в продукт. Это пример ненамеренного закрытия задач обоих направлений маркетинга. Обычно этим занимаются два разных отдела с одной общей целью.
На самом же деле, эти направления отвечают на разные запросы. Глобально, маркетинг в компании существует для того, чтобы помогать наращивать ее прибыль. Эффективно это получается сделать тогда, когда к продукту привлекается платящая целевая аудитория (ЦА). Поэтому общая цель как бренд-, так и перформанс-маркетинга — привлечь как можно больше целевых клиентов. Также нужно уметь детектировать мультимодальность, чтобы для распределений с несколькими модами использовать особые подходы.
Как писать перформанс-тесты?
Создавая этот креатив, мы фокусировались на ЦА приложения — женщин 25+, которые любят головоломки. Изобразили яркую, привлекающую внимание картинку, в которую нужно внимательно вглядеться, чтобы найти все спрятанные фигуры. Конечно, это очень грубая и утрированная модель, но она хорошо описывает то, как комбинация методов ведет себя в реальной жизни.
Если мы по классике рассчитаем скользящее среднее, то получим что-то такое. Прямо сейчас можете в это глубоко не вникать, просто запомните общую идею, что так вообще можно делать. Ну а когда такой подход понадобится на практике, то тогда и разберетесь, по ссылкам (здесь или в этой статье) вы найдете подробное описание данного подхода и референсные примеры кода. Например, можно построить взвешенную версию оценки Харрела-Дэвиса, изменяя площадь сегментов рассматриваемой бета-функции. Для среднего арифметического подобное сглаживание делается очень легко и записывается простой формулой. К примеру, вес 0.5 может быть у коммита недельной давности или месячной давности, при этом прочие веса корректируются соответствующим образом.
Анализируем историю замеров
Мол, надо подсчитать какие-то сводные метрики, засунуть их в умную формулу, и всё сразу станет хорошо. В качестве упражнения попробуйте обобщить эту формулу на случай произвольного распределения и посмотрите, что перформанс тестирование получится там. А мы продолжим работать с нашей моделью и посмотрим на зависимость вероятности от количества тестов. Сегодня я буду много рассказывать о различных подходах и алгоритмах для решения этих задач.
Теория экстремальных значений, которая изучает тяжелые хвосты, используется во многих естественно-научных дисциплинах от гидрологии и эпидемиологии, до предсказания торнадо. Распределения вроде равномерного, нормального, бета и экспоненциального имеют легкие хвосты. А вот такие распределения, как Парето, логнормальное, Коши или Фреше имеют тяжелые хвосты.
Среднее арифметическое
И такой график мы получили на одной простой операции по созданию файла. А если рассматривать распределения замеров с реальных систем, то там можно найти намного более страшные картинки. Как мы видим, два числа не очень годятся для описания произвольных распределений. Тут нужно понимать, что если нам повезло получить что-то похожее на нормальное распределение, то мы действительно можем обойтись средним и дисперсией. Наверняка вы видели подобную картинку в разных учебниках.
- Я подготовил для вас подборку из нескольких книжек, с которых можно начать вникать в данную дисциплину.
- Но тогда общая продолжительность запуска всех бенчмарков могла бы занимать часы, дни или даже месяцы.
- Глядя на этот график, многие мои коллеги говорят мне, что нельзя анализировать замеры в такой ситуации.
- Он взят из книжки Кэндела 1991 года про изменения климата.
- Я рассказал штук десять подходов, которые действительно работают на практике, но я могу рассказать ещё несколько сотен подходов, которые работать не будут.
- После того, как мы аккуратно определили целевые деградации, на заданный вопрос можно дать три разных ответа.
Она может выглядеть непонятно, но основная идея довольно проста. Подробно на гистограммах останавливаться не будем, но имейте ввиду, что https://deveducation.com/ есть множество разных алгоритмов для выбора этой ширины. А еще есть адаптивные алгоритмы, в которых у разных столбиков разная ширина.
Нефункциональные требования, или «хочу, чтобы все работало быстро»
Учтите, что это не готовый алгоритм, а только утрированное описание общего подхода — внутри большое количество пространства для творчества. Например, вы можете экспериментировать со способом превращения функции пропорции в одно число. Проценты не всегда работают хорошо, так как не учитывают дисперсию. В случае нормальных распределений можно было бы использовать индекс d Коэна, но для перформанс-распределений нужно подбирать его непараметрические аналоги.
Всевозможные графики и диаграммы, интеграция с jUnit и Jenkins. Все это можно установить в несколько кликов мышкой и сразу же запустить тесты. Многие крупные производители как софта, так и железа предлагают рекомендации по тестированию производительности своих продуктов. Следуя им, можно получить значения, очень похожие на те, что заявлены в рекламных буклетах. Вот только в реальной жизни от таких тестов пользы мало.