Давайте поговорим о важности тестирования производительности программных систем.
Давайте поговорим о важности тестирования производительности программных систем.

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

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

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

Инструменты тестирования производительности могут быть коммерческими или бесплатными. Для коммерческого тестирования производительности в Китае существует служба тестирования производительности Alibaba Cloud PTS, которая взимает разумную плату. Все зарубежные инструменты тестирования производительности — LoadRunner. Бесплатный инструмент с открытым исходным кодом также является наиболее часто используемым Jmeter.

Зачем проводить тестирование производительности?

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

Целью тестирования производительности является не поиск ошибок, а устранение узких мест в производительности. Тестирование производительности проводится для предоставления заинтересованным сторонам информации о скорости, стабильности и масштабируемости их приложений.

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

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

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

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

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

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

Количество виртуальных пользователей в зависимости от времени:

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

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

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

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

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

Частота ошибок в зависимости от количества виртуальных пользователей:

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

Использование ресурсов в зависимости от времени:

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

Комбинированный вид

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

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

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

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

Тестирование производительности График
Тестирование производительности График

Знакомство с ключевыми точками графика выше

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

Область: график кривой в основном разделен на 3 области, а именно: область легкого давления, область сильного давления и зона заброшенности.

Три кривые на вертикальной оси, каждая кривая представляет собой информацию, на которую следует обратить внимание в процессе тестирования производительности:

Кривая использования количества одновременных пользователей и ресурсов (оранжевая)

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

Кривая времени ответа количества одновременных пользователей (синяя)

Поскольку число пользователей продолжает расти, очевидно, что на рисунке есть две переломные точки:

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

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

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

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

Анализ процесса: этап 1. Зона легкого давления. По мере увеличения количества одновременных пользователей использование ресурсов и пропускная способность (TPS) будут соответственно увеличиваться, но время отклика (RT) в основном стабильно и незначительно увеличивается;

Стадия 2. Зона тяжелого давления. Когда количество одновременных пользователей увеличивается до определенного значения, использование ресурсов имеет тенденцию к насыщению, рост пропускной способности (TPS) существенно замедляется или даже прекращается, а время отклика (RT) еще больше увеличивается.

Зона отказа 3-й стадии: если количество одновременных пользователей продолжает расти, использование программных и аппаратных ресурсов продолжает оставаться в состоянии насыщения (перенасыщения), но пропускная способность (TPS) начинает снижаться, а время отклика (RT) резко увеличивается. .

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

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

Важность тестирования производительности в основном отражается в следующих аспектах:

Тестирование производительностиважность
Тестирование производительностиважность

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

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.