Технические примечания по тестированию производительности (2): Как подготовить тестовую среду и данные.
Технические примечания по тестированию производительности (2): Как подготовить тестовую среду и данные.

В этой статье мы продолжаем делиться содержанием тестирования производительности в рабочих заметках.

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

Эта статья,Начнем с реальных сценариев,Поговорим о том, как приготовить тестовую средаиданные испытаний。

тестовая среда

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

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

  1. Публикуйте часто;
  2. Функция&Нестабильный сервис;
  3. Существует множество тестовых сценариев и большое перекрестное влияние;

и Тестирование производительность Продолжительность испытания под давлением относительно продолжительна (от 10 минут до 12 часов или даже нескольких дней), и для того, чтобы получить результаты испытания под давлением с меньшими погрешностями, Тестирование производительности Высокие требования к стабильности сервиса。Поэтому я предлагаюЕсли есть возможность, лучше построить независимую производительную тестовую среду.

При построении независимой производительности тестовой среды следует обратить внимание на следующие моменты:

  1. Независимое доменное имя или запись запроса;
  2. Конфигурация сервера приложений остается согласованной с производственной;
  3. Количество сервисов приложений можно свести к минимуму (продакшн — кластер, тестовая среда1 сервер разворачивает 1 сервис);
  4. периферийные услуги&Слабо зависимые сервисы&Высокопроизводительный сервис(Прочитать всекэш,rt (несколько миллисекунд)) Можно рассмотреть возможность развертывания нескольких сервисов приложений на одном сервере или макетирования;
  5. кэш、очередь сообщений、Конфигурация базы данных уменьшена пропорционально(НапримерmysqlПример,4C8G/8C16G достаточно для удовлетворения ежедневных потребностей в испытаниях под давлением);
  6. В релизной версии сервиса следует отметить следующие особенности::
    1. Для сервисов в рамках данного теста будут выпущены соответствующие ветки;
    2. Службы, выходящие за рамки данного теста, соответствуют производственной версии;

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

Практика применения технологии поточного крашения,Вы можете обратиться сюда:Практика внедрения среды окрашивания Dewu

данные испытаний

Закончил общениетестовая После подготовки окружения поговорим о данных. подготовка к испытаниям. Конечно, в некоторой степени данные испытания также можно охарактеризовать как «испытательная» В большой категории окружающей среды.

Данные, используемые в стресс-тестировании, в основном делятся на следующие типы:

Данные заземления

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

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

Для подготовки Данных заземления наиболее распространенными способами являются следующие:

  1. Синхронизация с производственной средой (требуется десенсибилизация конфиденциальных данных);
  2. Вызовите бизнес-интерфейс и используйте сценарии для пакетной генерации операций записи (не нужно снижать чувствительность, просто соблюдайте бизнес-логику);
горячие данные

Что такое горячий данные?Например, пользователииз Информация о статусе входа(token)、например купоны、Например, изображения продуктов (часто хранятся в CDN).

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

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

При последующей работе по тестированию вам нужно лишь параметризовать токен и идентификатор пользователя в запросе в соответствующем порядке в заголовке запроса.

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

Подготовка других важных данных также может относиться к вышеуказанному методу.,Сгенерировать заранее,Затем разогрейте кэш (есть также метод локального кэша или jar-пакета).

Параметрические данные

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

  1. Для строгой проверки бизнес-логики ее можно заранее сгенерировать посредством запуска сценария, а затем извлечь из базы данных для использования;
  2. Простая логика автоинкремента (например, номер заказа) может быть сгенерирована автоинкрементом подключаемого модуля, предоставляемого инструментом нагрузочного тестирования, или реализована путем написания кода;
  3. В сценариях, когда вам нужно проверить только количество цифр в строке или она не пуста, вы можете сгенерировать ее с помощью случайного числа или uuid;

При подготовке Параметрических данных необходимо обратить внимание на следующие моменты:

  1. Идемпотентность данных(Можно ли его использовать повторно?);
  2. Актуальность данных(Требуется ли предварительное действие для обновления статуса?);
  3. Срок действия данных(Данные должны быть действительными на этапе использования.);
  4. уникальность данных(Данные доступны только в определенных сценариях для логической обработки.);

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

Вышеупомянутое — это то, на что следует обратить внимание при подготовке испытательной среды и требований.

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

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