Практические методы установления базовых показателей тестирования производительности
Практические методы установления базовых показателей тестирования производительности

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

По сравнению с другими терминами тестирования производительности, такими как параллелизм, TPS и т. д., базовый уровень производительности редко упоминается. В доступной информации базовый уровень производительности часто интерпретируется как эталонное тестирование или мониторинг производительности. Судя по моему личному практическому опыту, в такой трактовке есть определенное отклонение.

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

Как понять базовые показатели производительности

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

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

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

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

Базовый уровень можно рассматривать как более формальный стандарт. После того, как первоначальный базовый уровень установлен, данные, полученные в результате каждого последующего теста, необходимо фиксировать (есть различия) до тех пор, пока данные не сформируются в пределах статистического интервала (основной версии или квартала). ) Новая базовая линия. Таким образом, в области тестирования производительности базовый уровень производительности имеет следующие характеристики:

  • производительность Базовый уровень можетНепосредственно представляет собой результативность текущего этапа.(Это выше или ниже?);
  • производительностьбазовый уровеньПоказатели должны напрямую отражать тенденции производительности.(Изменения тренда зависят отданныестатистический интервал);
  • производительностьбазовый уровеньОтображаемая тенденция изменений должна быть непрерывной, а показатели должны быть легко получены путем тестирования.(Показатели должны быть признаны всеми);
  • производительностьбазовый уровеньЭто всего лишь отображение данных, и чтобы сделать выводы, необходимо проанализировать меняющиеся тенденции.(Измерениеданные Есть ошибка,Должны быть положительные и отрицательные значения в разумных пределах);

Какую проблему решает базовый план производительности?

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

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

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

Преимущество базового уровня производительности заключается в том, что,с одной стороныОбеспечивает интуитивно понятные и непрерывные тенденции изменения производительности системы, что облегчает быстрое понимание долгосрочных изменений производительности системы.;Другойс одной стороны ЭтоПоказатели, представляющие базовый уровень производительности, являются более универсальными, то есть они образуют стандарт. Создание этой стандартизированной системы может снизить затраты на управление и связь и обеспечить хорошую основу для обеспечения стабильности всей системы.

Практические методы установления базовых показателей производительности

Чтобы установить базовые показатели производительности, вот моя собственная практика:

1. Выберите относительно стабильный и основной бизнес-модуль (например, бизнес по логистике заказов на поиск продуктов в электронной коммерции);

2. Покрытие тестовых сценариев покрывается пакетами в соответствии с приоритетом (например, приоритет отдается уровню P0, а затем постепенно покрывается P1/P2);

3. Выберите индикаторы, которые могут наглядно представить результаты изменений производительности и достичь консенсуса внутри команды (например, QPS, TPS, 99RT и использование ресурсов соответствующих сервисов);

4. Скрипты и данные, соответствующие сценарию покрытия, должны обновляться в режиме реального времени после итерации (отслеживать изменения на этапе кодирования, своевременно проводить совместную отладку и обновлять соответствующие тестовые данные);

5. Действия по выполнению теста производительности должны выполняться автоматически и регулярно, насколько это возможно (если во время автоматического выполнения возникают проблемы или результаты теста являются ненормальными, их можно выполнить вручную и наблюдать в режиме реального времени. Аномальные данные и журналы также должны быть сохранены). быстро записывается для облегчения последующего исследования и оптимизации);

6. Результаты выполнения теста производительности лучше всего записывать и отображать посредством автоматической записи + ручной настройки (отображение может отображаться в виде круговых диаграмм/линейных диаграмм/столбчатых диаграмм и т. д., а также предусмотрены функции групповой фильтрации и сравнения). );

7. В результатах каждого теста производительности будет определенная ошибка (при условии, что все условия остаются неизменными, также будут ошибки в результатах каждого выполнения, причем положительные и отрицательные значения ошибки могут быть 1%-5%);

8. Отображение базового уровня производительности и статистический интервал могут отображаться в соответствии с различными измерениями, такими как номер версии и квартал (если бизнес сложный и команда большая, можно добавить отображение и фильтрацию элементов бизнес-домена или даже BU);

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

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

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