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

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

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

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

2022-07-03 46
Как проводить тестирование производительности? 0.00 из 5.00 0 оценок
Заказать работу

● Определите необходимую среду тестирования (testing environment): перед тем, как начать процесс тестирования, изучите детали аппаратного, программного обеспечения и сетевых конфигураций, используемых во время тестирования. Это поможет тестировщикам создавать более эффективные тесты. Это также поможет определить возможные проблемы, с которыми тестировщики могут столкнуться во время процедур тестирования производительности;

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

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

● Настройка тестовой среды: Подготовьте тестовую среду перед выполнением. Также подготовьте инструменты и другие ресурсы;

● Имплементирование тест-дизайна: Создайте тесты производительности в соответствии с вашим тест-дизайном;

● Запуск тестов: Выполнить и промониторить тесты;

● Анализ, настройка и повторное тестирование: объединяйте, анализируйте и делитесь результатами тестирования. Затем выполните точную настройку и снова проверьте, есть ли улучшение или снижение производительности. Поскольку улучшения обычно становятся меньше с каждым повторным тестом, остановитесь, когда узкое место вызвано ЦП. Тогда вы можете рассмотреть вариант увеличения мощности процессора.

Метрики тестирования производительности (Performance Testing Metrics):

Использование процессора (Processor Usage): время, затрачиваемое процессором на выполнение non-idle потоков;

Использование памяти (Memory use): объем физической памяти, доступной процессам на компьютере;

Время диска (Disk time): время, в течение которого диск занят выполнением запроса на чтение или запись;

Время отклика (Response time): время с момента ввода пользователем запроса до получения первого символа ответа. Подробнее: раз, два;

Задержка (Latency): временной интервал между запросом и ответом;

Пропускная способность (Throughput): фактическое количество запросов (или пользователей), которое может обработать система за определенное время. В то время как время задержки говорит вам только о времени, метрика пропускной способности информирует об объеме данных, полученных и обработанных в момент времени. Важно не отделять показатели времени задержки от пропускной способности, т.к. высокий показатель времени задержки часто прямо связан с увеличением показателей метрики пропускной способности. Пропускная способность обычно измеряется в rps – (кол-во) запросов в секунду (requests per second).

Ширина пропускания канала (Bandwidth): максимальное число запросов (или пользователей), которое может обработать система. В отличие от пропускной способности ширина пропускания канала измеряет максимальный объем, который может обработать приложение.

Частные байты (Private bytes): количество байтов, выделенных процессом, которые не могут использоваться другими процессами. Они используются для измерения утечек и использования памяти;

Выделенная память (Committed memory) - объем используемой виртуальной памяти;

Страниц памяти в секунду (Memory pages/second) - количество страниц, записываемых на диск или считываемых с диска для устранения аппаратных ошибок страниц. Сбои аппаратной страницы - это когда код не из текущего рабочего набора вызывается из другого места и извлекается с диска;

Ошибок страниц в секунду (Page faults/second) - общая скорость, с которой страницы ошибок обрабатываются процессором. Это происходит, когда процессу требуется код из-за пределов своего рабочего набора;

Число прерываний процессора в секунду (CPU interrupts per second): это среднее количество аппаратных прерываний, которые процессор принимает и обрабатывает каждую секунду;

Длина дисковой очереди (Disk queue length): среднее количество запросов на чтение и запись, поставленных в очередь для выбранного диска в течение интервала выборки;

Длина сетевой выходной очереди (Network output queue length): длина очереди выходных пакетов в пакетах. Значение больше двух означает, что необходимо убрать задержку и возникновение узких мест;

Всего сетевых байтов в секунду (Network bytes total per second): скорость, с которой байты отправляются и принимаются интерфейсом, включая символы кадрирования;

Количество пулов соединений (Amount of connection pooling): количество запросов пользователей, которые удовлетворяются объединенными соединениями. Чем больше запросов будет выполнено подключениями в пуле, тем выше будет производительность;

Максимальное количество активных сессий (Maximum active sessions): максимальное количество сессий, которые могут быть активны одновременно;

Коэффициент хитов (Hit ratios): это связано с количеством операторов SQL, которые обрабатываются кэшированными данными вместо дорогостоящих операций ввода-вывода. Это хорошее начало для решения проблем, связанных с узкими местами;

Хитов в секунду (Hits per second): количество хитов веб-сервера в течение каждой секунды нагрузочного теста;

Сегмент отката (Rollback segment): объем данных, который можно откатить в любой момент времени;

Блокировки баз данных (Database locks) - блокировки таблиц и баз данных необходимо отслеживать и тщательно настраивать;

Максимальное время ожидания (Top waits) - отслеживаются, чтобы определить, какое время ожидания можно сократить при работе с тем, насколько быстро данные извлекаются из памяти;

Количество потоков (Thread counts): состояние приложения можно измерить по количеству потоков, которые работают и в настоящее время активны;

Сборка мусора (Garbage collection): это связано с возвратом неиспользуемой памяти обратно в систему. Сборку мусора необходимо отслеживать на предмет эффективности;

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


Поделиться с друзьями:

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

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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.