Популяризация знаний о тестировании производительности (6): три основные модели
Популяризация знаний о тестировании производительности (6): три основные модели

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

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

существовать Тестирование производительностина работе,бизнес-модель、модель трафикаимодель Данные имеют решающее значение и должны быть встроены в проект, иначе это может привести к большому разрыву между сценарием тестирования и реальной ситуацией, а результаты тестирования не дадут достаточно убедительной поддержки для анализа производительности и оптимизации. Чтобы всем было проще понять три основные модели, я буду использовать Электронную В качестве примера иллюстрируйте сценарий размещения заказа в коммерческом бизнесе, как показано ниже:

бизнес-модель

Вы можете думать о бизнес-модели как о Функциональном. Бизнес-сценарии в обучении. В Тестировании Чтобы построить бизнес-модель производительности, мы должны учитывать следующие факторы:

  1. Достаточно ли запасов продукции;
  2. Могут ли заказанные товары участвовать в маркетинговой деятельности;
  3. Является ли пользователь, размещающий заказ, VIP-участником и имеется ли скидка для участника;
  4. Имеет ли пользователь, оформивший заказ, купон и соответствует ли купон льготным условиям данного заказа;
  5. ............

По сути, нет никакой разницы между бизнес-сценарным анализом бизнес-модели и Функциональным тестированием.,Все для анализа тестируемого бизнеса и услуг.,Убедитесь, что тестовые сценарии и требования согласованы. Если это более сложный бизнес и более широкий спектр потребностей в тестировании,Вам также может потребоваться учитывать такие факторы, как пропускной режим и контроль рисков для онлайн-бизнеса.

Конечно, в реальной работе или проектах.,Рекомендуется проанализировать потребности,Разобрать бизнесы и сценарии, задействованные в стресс-тестировании,Нарисовано в интеллект-карте бизнес-модели.,Это облегчит последующую работу.

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

модель трафика

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

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

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

Тестирование производительности одного интерфейса на одной машине

Наиболее распространенным тестом производительности является стресс-тестирование сценариев входа в систему.

Испытание под давлением одной машины и одного интерфейса,можно сделать с помощью приращений градиента,Следите за ростом запросов,его производительность&Изменения в потреблении ресурсов。

Проверка пропускной способности гибридного канала на одной машине

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

Сценарий полноканального стресс-тестирования в производственной среде

Для полноканального стресс-тестирования производственных кластеров типичным случаем является продвижение электронной коммерции Double 11. Существует множество моделей стресс-тестирования производственных звеньев, обычно включающих следующие:

  • Градиентное повышение давления:Чтобы определить максимальную пропускную способность системы в режиме кластера(Избегайте перегруженного обслуживания,стать причиной аварии);
  • Фиксированный параллелизм:Проверка стабильности системы при длительной нагрузке;
  • синхронизация импульсов:Определение надежности системы、Проверьте правильность мер защиты, таких как ограничение тока и плавкие предохранители.&Доступность;
  • Проверка перепроданности:верно Электронная коммерция Деловая речь,основная иглавернонекоторые ограничениячасспешу купить&сцена убийства со вспышкой(Обычно такая сцена,Это потребует технических моментов, таких как распределенные блокировки, кэширование и согласованность данных, если вы не умеете играть;,Легко вызвать жалобы клиентов, Убыток капитала、Служба даже неожиданно оборвалась! );
строитьмодель трафика

Ниже приведен пример модели трафика во время акции Double 11 в моей реальной работе, только для справки.

бизнес-цели:пара11в тот день,Ориентировочная средняя цена за одного клиента 500р.,Однодневный GMV составляет 1 миллиард.,Тогда объем платежного поручения составит 1 миллиард/500=200Вт;

Технические индикаторы

  1. Предположим, что ежедневный объем платежного поручения составляет 50 Вт, коэффициент конверсии платежа — 40 %, а пиковое количество запросов в секунду для оплаты заказа — 200. Подсчитано, что коэффициент конверсии платежей во время большой акции составляет 60 %, тогда мы можем получить: максимальное количество запросов в секунду при оплате заказа для большой акции составляет (200/40 %) * 60 % * (200 Вт/50 Вт) = 1 200 QPS. Чтобы оставить некоторое резервное пространство, увеличение составляет 30%, то есть QPS для оплаты заказа оценивается в 1500;
  2. Ссылка для оплаты заказа в Электронной коммерции: Главная страница → Подробности о товаре → Создать заказ → Оплата заказа → Платеж успешен.,Это логика конверсии, похожая на воронку. Предположим, что коэффициент конверсии главной страницы → сведения о продукте составляет 40 %.,Подробнее о продукте → Конверсия создания заказа 40%,Создать заказ → Конверсия оплаты заказа составляет 40%,Тогда получим: QPS создания заказа 1500/40%=3750.,Подробности о продукте: QPS составляет 3750/40%=9375.,QPS на домашней странице составляет 9375/40%=23437;
  3. В соответствии с отношениями вызовов зависимости между основными ссылками, с помощью отслеживания трассировки можно получить значения QPS всех основных приложений и основных ссылок в течение периода продвижения.

Рекомендуется после оценки модели После трафика объедините бизнес-сценарий и отношения вызовов между службами, чтобы нарисовать модель. трафикакартина,Это будет более интуитивно понятно,Облегчите выполнение работы.

модель данных

После понимания бизнес-модели и модели трафика легко понять модель данных.

В качестве примера возьмите картинку выше: Электронная. коммерция бизнес по заказам находится в стадии строительства модель данныхчас,В зависимости от частоты испытаний под давлением, количества испытаний под давлением и сценария испытаний под давлением.,Подготовьте различные типы данных.

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

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

Информация о данных

иллюстрировать

Ограничения

Разрешения на операции пользователя, время обращения к данным, настройки срока действия данных (количество раз, абсолютное время)

Объем данных

Объем фактической производственной среды Сколько стоят данные,существовать Тестирование производительности Как заменить окружающую среду эквивалентными объемами

тип данных

Основные данные、горячие данные、данные кэша, специальные данные

Характеристики данных

Можно ли его повторно использовать, является ли оно уникальным, автоинкрементированием, шифрованием, сращиванием, экранированием и т. д.

метод приготовления

Копирование данных реальной среды, предварительно встроенных фоновых данных и десенсибилизированных сгенерированных данных.

Основные данные

Также называемые данными заземления,Цель базовых данных — обеспечить соответствие онлайн-данным (по крайней мере, согласованное распределение количества).,В сочетании с темпами роста онлайн-торговли,Подтвердите предварительно встроенный уровень объема данных и встроенный метод. Данные, которые необходимо проверить, когда дело доходит до испытаний под давлением,При закладке фундамента необходимо иметь рабочий проект.,включая размер данных、количество、распределено.

горячие данные

Вам необходимо понять логику реализации тестируемого интерфейса и подтвердить следующую информацию:

  • Есть ли горячий операции, связанные с данными: например, все пользователи могут мгновенно отключить один и тот же продукт;
  • Когда логика обработки разных типов данных различна, необходимо повысить производительность за счет диверсификации тестовых данных. производительность покрытия кода;
данные кэша

Чтобы подтвердить наличие кеша, размер кеша.

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

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

строитьмодель данных

Наиболее интуитивно понятной целью построения данных модели является параметризация тестовых данных во время стресс-тестирования. Общие этапы строительства следующие:

  1. строитьбизнес-модель;
  2. Построить модель трафика (модель стресс-тестирования);
  3. Перечислите тестовые данные и соответствующие взаимосвязи, необходимые для бизнеса, и смоделируйте трафик;
  4. Извлечь подготовленные параметризованные данные из базы данных для создания соответствующих файлов различных параметризованных данных;
  5. Установите соответствующие отношения сопоставления данных в сценарии стресс-тестирования, чтобы гарантировать, что бизнес-модель, модель трафикаимодель сопоставление данных, моделирующее реальные производственные сценарии;
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose