Обзор инструментария для нагрузочного и перформанс-тестирования
Как говорят иные отважные люди: «От dev до prod — всего один шаг». Люди опытные добавляют, что шаг этот называется «тестирование», причём самое разнообразное, и нам просто нет смысла им не верить.
Нагрузка имеет значение: водитель этого грузовика умудрился обрушить мост весом своего ТС, счёт за восстановление составил примерно $21.3M. К счастью, тестирование ПО обходится дешевле!
Конечно, говоря о тестировании, нужно понять, с чем и за что мы боремся. Мы сознательно ограничили себя и решили сегодня поговорить исключительно про нагрузочное тестирование и тестирование производительности: темы, полярно удалённые друг от друга, крайне интересны в самом практическом выражении. Рассмотрим инструменты для того и другого, не привязываясь к какому-то конкретному стеку технологий, так что не удивляйтесь соседству Яндекс.Танк и BenchmarkDotNet!
Нагрузочное тестирование
Представим, что мы с вами написали некий сервис — теперь нужно понять, какую нагрузку он выдержит. Старая грустная шутка разработки качественного ПО гласит, что лучше иметь софт, который работает гарантированно плохо, чем софт, работающий хоть и хорошо, но негарантированно хорошо: в первом случае мы хотя бы будем знать, на что твёрдо можем рассчитывать. Далее, если наш сервис умеет масштабироваться тем или иным образом, то нужно понять, насколько с ростом нагрузки масштабирование оказывается полезным и выполняет ли оно возложенные на него проектом задачи.
Что ж, берём и направляем на наше детище нагрузку, притом внимательно наблюдая за результатом: нас, очевидно, интересует ситуация, когда сервис либо станет отвечать на запросы с неприемлемой задержкой, либо будет возвращать неверные данные, либо вовсе перестанет подавать признаки жизни для всех запросов или лишь для их части.
Давайте представим, что мы с вами написали некоторый сервис — для определённости скажем, что веб-сервис, но это не столь важно. Чтобы убедиться, на что мы с ним можем рассчитывать, мы начинаем «обстреливать» его запросами, наблюдая за поведением как самого сервиса, так и за нагрузкой на серверах, где он крутится. Хорошо, если заранее понятно, какие запросы нам нужно отправлять сервису (в этом случае мы можем подготовить массив запросов заранее, а после отправить его в наше приложение одним махом). Если же второй запрос зависит от результатов первого (простой пример — сначала происходит авторизация пользователя, и в следующие обращения к сервису включается информация об ID сессии), то генератор нагрузки должен быть способен генерировать тестовые запросы крайне быстро, в реальном времени.
С учётом обстоятельств и нашего знания об объекте тестирования выбираем инструмент(ы):
JMeter
Да, старый добрый JMeter. Он вот уже без малого двадцать лет (!) является частым выбором для многих вариантов и типов нагрузочного тестирования: удобный GUI, независимость от платформы (спасибо Java!), поддержка многопоточности, расширяемость, отличные возможности по созданию отчётов, поддержка многих протоколов для запросов. Благодаря модульной архитектуре JMeter можно расширить в нужную пользователю сторону, реализуя даже весьма экзотические сценарии тестирования — причем, если ни один из написанных сообществом за прошедшее время плагинов нас не устроит, можно взять API и написать собственный. При необходимости с JMeter можно выстроить, хоть и ограниченное, но распределённое тестирование, когда нагрузка будет создаваться сразу несколькими машинами.
Одной из удобных функций JMeter является работа в режиме прокси: указываем в настройках браузера в качестве прокси «127.0.0.1:8080» и посещаем браузером нужные нам страницы нужного сайта, тем временем JMeter сохраняет все наши действия и все сопутствующие запросы в виде скрипта, который позже можно будет отредактировать, как нужно — это делает процесс создания HTTP-тестов заметно проще.
Кстати, последняя версия (3.2), вышедшая в апреле этого года, научилась отдавать результаты тестирования в InfluxDB при помощи асинхронных HTTP-запросов. Правда, начиная как раз с версии 3.2, JMeter стал требовать только Java 8, но это, наверное, не самая высокая цена за прогресс.
Хранение тестовых сценариев у JMeter реализовано в XML-файлах, что, как оказалось, создаёт массу проблем: их совсем неудобно писать руками (читай — для создания текста необходим GUI), как неудобна и работа с такими файлами в системах управления версиями (особенно в момент, когда нужно сделать diff). Конкурирующие на поле нагрузочного тестирования продукты, такие, как Яндекс.Танк или Taurus, научились самостоятельно и на лету формировать файлы с тестами и передавать их в JMeter на исполнение, таким образом пользуясь мощью и опытом JMeter, но давая возможность пользователям создавать тесты в виде более читаемых и легче хранимых в CVS тестовых скриптов.
LoadRunner
Ещё один давно существующий на рынке и в определенных кругах очень известный продукт, большему распространению которого помешала принятая компанией-производителем политика лицензирования (кстати, сегодня, после слияния подразделения ПО компании Hewlett Packard Enterprise с Micro Focus International, привычное название HPE LoadRunner сменилось на Micro Focus LoadRunner). Интерес представляет логика создания теста, где несколько (наверное, правильно сказать — «много») виртуальных пользователей параллельно что-то делают с тестируемым приложением. Это даёт возможность не только оценить способность приложения обработать поток одновременных запросов, но и понять, как влияет работа одних пользователей, активно что-то делающих с сервисом, на работу других. При этом речь идёт о широком выборе протоколов взаимодействия с тестируемым приложением.
HP в своё время создала очень хороший набор инструментов автоматизации функционального и нагрузочного тестирования, которые, при необходимости, интегрируются в процесс разработки ПО, и LoadRunner умеет интегрироваться с ними (в частности, с HP Quality Center, HP QuickTest Professional).
Некоторое время назад производитель решил повернуться лицом к тем, кто не готов сразу платить за лицензию, и поставляет LoadRunner с бесплатной лицензией (где вписан лимит на 50 виртуальных пользователей, и запрещена небольшая часть всего набора поддерживаемых протоколов), а деньги берутся за дальнейшее расширение возможностей. Сложно сказать, насколько это будет способствовать повышению интереса к этому, без сомнения, занимательному инструменту, при наличии у него столь сильных конкурентов.
Gatling
Весьма мощный и серьёзный инструмент (не зря названный в честь скорострельного пулемета) — в первую очередь, по причине производительности и широты поддержки протоколов «из коробки». Например, там, где нагрузочное тестирование с JMeter будет медленным и мучительным (увы, плагин поддержки работы с веб-сокетами не особо быстр, что идейно конфликтует со скоростью работы самих веб-сокетов), Galting почти наверняка создаст нужную нагрузку без особых сложностей.
Следует учесть, что, в отличие от JMeter, Gatling не использует GUI и вообще считается средством, ориентированным на опытную, «грамотную» аудиторию, способную создать тестовый скрипт в виде текстового файла.
Есть у Gatling и минусы, за которые его критикуют. Во-первых, документация могла бы быть и получше, во-вторых, для работы с ним неплохо знать Scala: и сам Gatling, как инструмент тестирования, и тестовые сценарии пишутся именно на этом языке. В-третьих, разработчики «иногда» в прошлом кардинально меняли API, в результате можно было обнаружить, что тесты, написанные полугодом ранее, «не идут» на новой версии, либо требуют доработки/миграции. У Gatling также отсутствует возможность делать распределённое тестирование, что ограничивает возможные области применения.
Яндекс.Танк
Если коротко, Yandex Tank — это враппер над несколькими утилитами нагрузочного тестирования (включая JMeter), предоставляющий унифицированный интерфейс для их конфигурации, запуска и построения отчётов вне зависимости от того, какая утилита используется «под капотом».
Он умеет следить за основными метриками тестируемого приложения (процессор, память, своп и пр.), за ресурсами системы (свободная память/место на диске), может остановить тест на основе разных понятных критериев («если время отклика превышает заданное значение», «если количество ошибок за единицу времени выше, чем х» и т.д). Кстати, умеет отображать в реальном времени основные статистические данные теста, что бывает очень полезно прямо в процессе теста.
Танк используется и в самом Яндексе, и в других компаниях уже около 10 лет. Им обстреливают совершенно разные сервисы, с разными требованиями к сложности тестовых сценариев и к уровню нагрузки. Почти всегда для тестирования даже высоконагруженных сервисов хватает всего одного генератора нагрузки. Танк поддерживает разные генераторы нагрузки, как написанные специально для него (Phantom, BFG, Pandora), так и широко сторонние (JMeter). Модульная архитектура позволяет написать свой плагин под нужный генератор нагрузки и вообще прикрутить практически что угодно.
Для чего использовать разные генераторы нагрузки? Phantom — это быстрая «пушка» на C++. Один такой генератор может выдать до сотни тысяч запросов в секунду. Но для достижения такой скорости приходится генерировать запросы заранее и нельзя (не получается) использовать получаемые от тестируемого сервиса данные для генерации очередного запроса. В случаях, когда нужно исполнять сложный сценарий или сервис использует нестандартный протокол, следует использовать JMeter, BFG, Pandora.
В BFG, в отличие от Jmeter, нет GUI, тестовые сценарии пишутся на Python. Это позволяет использовать любые библиотеки (а их огромное количество). Часто бывает, что для сервиса написаны биндинги для Python, тогда их удобно использовать при написании нагрузочных сценариев. Pandora — это экспериментальная пушка на GoLang, достаточно быстрая и расширяемая, подходит для тестов по протоколу HTTP/2 и будет использоваться там, где нужны быстрые сценарии.
Внутри Яндекса для хранения и отображения результатов нагрузочных тестов используется специальный сервис. Сейчас наружу открыт его упрощенный аналог под названием Overload — он полностью бесплатен, его используют, в том числе, для тестирования открытых библиотек (например) и проведения соревнований.
Taurus
Taurus — ещё один фреймворк над несколькими утилитами нагрузочного тестирования. Возможно, вам понравится этот продукт, использующий похожий на Яндекс.Танк подход, но имеющий несколько другой набор «фич», и, пожалуй, более адекватный формат конфигурационных файлов.
Вообще, Taurus хорошо подойдёт в ситуации, когда мощность, скажем, Gatling важна для создания теста, но разбираться с Gatling (а также с написанием скриптов тестирования на Scala) нет желания или возможности: достаточно описать тест в куда более простом формате файла Taurus, настроить его на использование Gatling как инструмента создания нагрузки, и все Scala-файлы будут сгенерированы автоматически. Так сказать, «автоматизация автоматизации» в действии!
Taurus можно настроить на отправку статистики теста на онлайн-сервис BlazeMeter.com, который отобразит данные в виде нарядных графиков и таблиц. Подход не очень обычный, но заслуживающий внимания: движок вывода отчётов, очевидно, совершенствуется со временем, и постепенно будет выводить информацию ещё более симпатично.
Тестирование производительности
Тестировать производительность сервиса или приложения можно и нужно не только после завершения процесса разработки, но и во время неё, буквально так же, как мы делаем регулярные юнит- или регрессионные тесты. Правильно организованные, регулярные тесты производительности позволяют ответить на очень «тонкий» вопрос: не привели ли последние изменения в коде приложения к ухудшению производительности получившегося ПО?
Казалось бы, померить производительность — это так просто! Два раза взять timestamp (желательно с высокой точностью), посчитать разность, сложили-поделили, и всё — можно оптимизировать. Как бы не так! Хотя на словах этот вопрос звучит просто, на деле такого рода замеры довольно затруднительно производить, а сравнивать результаты разных замеров вообще не всегда разумно. Одна из причин: для сопоставления результатов тесты должны проходить над одними и теми же исходными данными, что, среди прочего, подразумевает воссоздание тестовой среды при каждом прогоне проверки, другая причина — сравнение субъективного восприятия времени работы тестового сценария может оказаться неточным.
Ещё одной причиной является сложность выделения влияния на производительность целого приложения работы отдельного его модуля, того, который мы сейчас правим. Усугубляя ситуацию, уточняем: ещё сложнее это влияние вычленить, если над кодом работает коллектив из более чем одного разработчика.
Один из подходов в такой ситуации состоит в тщательном создании полноценного тестового сценария, повторяющего работу с сервисом настоящего клиента, и прогоне его много раз, с параллельным анализом нагрузки на сервер, где проходит тестирование (таким образом, будет понятно, какая часть сценария создаёт нагрузку на отдельные ресурсы тестового сервера, что может дать дополнительную информацию по поиску мест, где следует подойти к производительности более серьёзно) — увы, не всегда можно такое позволить себе в реальной ситуации, просто потому, что объёмный тест, да ещё повторённый 10-20 раз, скорее всего будет слишком долгим, чтобы проводить его достаточно часто, а это полностью убьёт идею.
Второй подход, более подходящий к процессу разработки, заключается в организации ограниченного по масштабу, «микро-» или даже «нано-» тестирования отдельных мест кода (скажем, запуске одного метода или одной функции, но большое число раз — т.е., скорее, бенчмаркингу). Планирование такого тестирования требует дополнительных усилий со стороны разработчика, но результат окупается и общим улучшением производительности кода, и пониманием, как ведут себя отдельные части проекта по мере работы как над ними, так и над другими частями. Вот, для примера, пара инструментов для перформанс-тестирования:
JMH
JMH (Java Microbenchmark Harness) — это оснастка Java для сборки, запуска и анализа нано/микро/милли/макро-бенчмарков, написанных на Java и других языках с целевой платформой JVM. Сравнительно молодой фреймворк, в котором разработчики постарались учесть все нюансы JVM. Один из удобнейших инструментов, из тех, которые приятно иметь под рукой. JMH поддерживает следующие типы замеров: Throughput (замер чистой производительности), AverageTime (замер среднего времени выполнения), SampleTime (перцентиль времени исполнения), SingleShotTime (время вызова одного метода — актуально для замера «холодного» запуска тестируемого кода).
Поскольку речь идёт о Java, фреймворк учитывает в т.ч. и работу механизма кэширования JVM, и перед запуском бенчмарка несколько раз выполняет тестируемый код для «прогрева» кэша байт-кода Java-машины.
BenchmarkDotNet
BenchmarkDotNet берёт на себя рутинные действия при составлении бенчмарков для .NET-проектов и обеспечивает широкие возможности форматирования результатов ценой минимальных усилий. Как говорят авторы, фиче-реквестов хватает, поэтому BenchmarkDotNet есть куда развиваться.
На сегодняшний день BenchmarkDotNet — библиотека, в первую очередь, для бенчмарков, а не для перфоманс-тестов. Ведётся серьёзная работа над тем, чтобы библиотеку можно было также использовать на CI-сервере для автоматического детектирования перфомансных регрессий, но пока эти разработки не завершены.
Google Lighthouse
Замеры производительности фронтенда всегда стояли несколько особняком: с одной стороны, часто задержки связаны со скоростью реакции бэкенда, с другой — именно по поведению фронтенда (точнее, по скорости его реакции) пользователи часто судят о всём приложении, особенно, если речь идёт про веб.
В веб-фронтенде в отношении замеров производительности сейчас всё идёт в сторону использования Performance API и измерении именно тех параметров, которые имеют значение для конкретного проекта. Хорошим подспорьем окажется веб-сервис webpagetest.org с Performance API метками и замерами — он позволит увидеть картину не со своего компьютера, а с одной из многих точек тестирования, существующих в мире, и оценить влияние времени приёма-передачи данных через каналы интернет на работу фронтенда.
Этот продукт больше подходил бы для проверки страниц сайта на соответствие рекомендациям Google (и вообще best practices) как для веб-сайтов, так и для Progressive Web Apps, если бы не одна из его функций: среди проверок есть и тест на поведение сайта при плохом качестве веб-соединения, а также при полном отсутствии связи. Это не очень соотносится с перформанс-тестированием как таковым, однако, если задуматься, в некоторых случаях веб-приложение воспринимается «медленным» не потому, что медленно готовит данные, а потому, что условия его работы на машине пользователя, в его браузере, с учётом его соединения с интернетом — увы, не идеальны. Google Lighthouse как раз и позволяет оценить это влияние.
Да, тема бенчмарков и тестирования просто бесконечна. Про каждую из них можно и нужно писать пост, и не один. Однако, как мы с вами знаем, самым интересным будет не просто прочесть, а пообщаться, послушать, поспрашивать знающего человека, который, в силу своего опыта, заранее предупредит о многих мелких и крупных затруднениях, лежащих на пути освоения той или иной технологии.
Поэтому с радостью приглашаем вас посетить конференцию Гейзенбаг 2017 Moscow, которая состоится 8-9 декабря 2017 года, где будут, в частности, представлены доклады:
Подробности и условия участия можно узнать на сайте конференции.
Нагрузочное тестирование «по-быстренькому» / Хабр
Может кому будет интересно как «по-быстрому» провести нагрузочное тестирование своего веб-приложения.
Подробности под катом
Вместо предисловия
На сегодняшнем стендапе Марек (программист из Польши принимающий участие в проекте EmForge) сказал, что общался с рядом друзей, у которых в прошлом был большой опыт работы с Liferay (который мы как раз активно используем) — и опыт оказался очень негативный, в первую очередь из-за проблем со скоростью. Некоторые проекты тупо накрылись из-за того что эти проблемы так и не получилось решить.
Нет — мы конечно собирались проводить нагрузочное тестирование, но не сейчас, чуть попозже, когда будет побольше функционала, и то, чисто что бы убедиться что все ок, или «не ОК» в каких-то определенных местах — и их править.
Но тут вопрос встал ребром — если все так плохо — то какие-то решения надо принимать уже сейчас — пока не стало поздно. Вывод один — нагрузочное тестирование получает более высокий приоритет по сравнению с остальными задачами
Не «по-быстренькому»
Изначально планировалось идти стандартным путем — взять JMeter, написать для начала простенький скрипт обхода основных страниц с основной функциональностью анонимным пользователем — потом усовершенствовать помаленьку, параллельно решая вопросы как грамотно запустить это добро на нескольких клиентский машинах.
Вообщем задача не на один час
А по-быстренькому?
Но тут я вспомнил, что на Хабре была статья (статью к сожалению не нашел — так бы кинул ссылку), где человек сетовал, что люди не прогоняют нагрузочное тестирование на своем сайте, шлют ссылку на хабр, а потом, когда надо снимать «сливки» с хабраэффекта мучительно сайт поднимают ( а пользователи не видят ничего кроме сообщений об ошибках).
Так вот там кто-то советовал несколько сервисов, которые проводят такое нагрузочное тестирование.
Вообще наиболее полезной ссылкой по теме нагрузочного тестирования оказалась эта — тут перечисленны и утилиты типа JMeter, и сервисы по организации тестирования. на первых трех я и остановлюсь чуть подробнее
Совсем по-быстренькому?
Если совсем по-быстрому — то это Load Impact — не надо никаких регистраций — заходите — даете URL — и в течении 10-15 минут 50 виртуальных пользователей терроризируют вашу страницу. Тупо, просто — но по крайней мере позволит увидеть что при первом же наплыве ваше приложение не ляжет. Не легло? Идем дальше
Нагрузочное тестирование за 1.5 часа
Мне очень понравился LoadStorm. С ним работа строится следующим образом:
1. регистрируемся
2. Создаем тест — в котором указывает сайт который будем пытать
3. Прежде чем начать пытку- требуется верификация (а вдруг вы хотите положить сайт конкурента????). надо на главную страницу положить определенный текст с кодом — или файл с определенным именем в корень
4. Дальше создаем сценарий — при создании сценария описываем, как пользователь идет по вашему сайту, какие линки нажимает, можно засабмитить формы. Все достаточно интуитивно и понятно
5. потом говорим когда запустить
6. в назначенное время тест запускается, ждем 30 минут пока до 50-ти пользователей бродят по вашему сайту согласно вашим указаниям — и получаем отчет.
Да, 50 одновременных пользователей — это не совсем серьезно — даже на хаброэффект не потянет — но уже что-то. Надо больше — есть платная подписка (да — забыл сказать что все это бесплатно). В моем случае — 50 одновременных пользователей это та нагрузка, о которой я пока и не мечтаю в ближайшие несколько месяцев — так что мне было достаточно.
Вообщем на описание сценария из 15 последовательных страниц, ожидание запуска теста и ожидание самих результатов ушло порядка полутора часов, в результате я получил графики типа
На этом графике показывается как терзалась система — в моем случае максимально было 47 пользователей — и чуть более 3-ех запросов в секунду
Ну и самый интересный
Из которого следует — что если исключить максимальный пик в 5 секунд (в этот момент решил включиться Garbage Collector) — в остальном приложение вело себя хорошо — и не зависимо от количества пользователей — то есть — нагрузка в 50 пользователей сайт не нагружает — есть еще и запас хороший.
Понятно — что такое тестирование не совсем «серьезное» по выдаваемым результатам, да и 50 одновременных пользователей — нельзя назвать серьезной нагрузкой, но, учитывая потраченное время (полтора часа) и деньги (0 руб) — результат вполне адекватный. По крайней мере мы убедились что если с производительностью есть какие-то проблемы — в ближайшие месяцы мы ее все-таки не увидим
Чуть подлинней и подороже
Если хочется чуть более серьезного — можно попробовать BrowseMob — сам их не пробовал — отличие в том, что у них, вместе с виртуальными пользователями ваш сайт мучают реальные — но это и стоит дороже. В любом случае гляньте — может пригодится
Все, удачи, счастливых хаброэффектов!
Нагрузочное тестирование как CI-сервис для разработчиков
Одна из проблем, с которыми часто сталкиваются мультипродуктовые вендоры ПО, это дублирование компетенций инженеров — разработчиков, тестировщиков и администраторов инфраструктуры — почти в каждой команде. Это касается и дорогостоящих инженеров — специалистов в области нагрузочного тестирования.
Вместо того, чтобы заниматься своими прямыми обязанностями и использовать свой уникальный опыт для выстраивания процесса нагрузочного тестирования, выбирать методологию, оптимальные значения метрик и писать автотесты в соответствии с профилями нагрузки, инженерам зачастую приходится с нуля разворачивать тестовую инфраструктуру, настраивать инструменты нагрузки, самим встраивать их в CI-системы, настраивать мониторинг и публикацию отчетов.
Решения некоторых организационных проблем в тестировании, которые мы применяем в Positive Technologies, вы можете найти в другой статье. А в этой я расскажу про возможность интеграции нагрузочных тестов в общий CI-конвейер с помощью концепции «нагрузочное тестирование как сервис» (load testing as a service). Вы узнаете, как и какие докер-образы источников нагрузки можно использовать в CI-конвейере; как подключить источники нагрузки в свой CI-проект при помощи сборочного шаблона; как выглядит демопайплайн для запуска нагрузочных тестов и публикации результатов. Статья может быть полезной инженерам по тестированию ПО и инженерам-автоматизаторам в CI, кто задумался об архитектуре своей нагрузочной системы.
Суть концепции
Концепция load testing as a service подразумевает возможность интегрировать инструменты нагрузки Apache JMeter, Yandex.Tank и собственные фреймворки в произвольную систему continuous integration. Демопример будет для GitLab CI, но принципы изложены общие для всех CI-систем.
Load testing as a service — это централизованный сервис для проведения нагрузочного тестирования. Нагрузочные тесты запускаются в выделенных пулах агентов, публикация результатов происходит автоматически в GitLab Pages, Influx DB и Grafana или в системы тест-репортинга (TestRail, ReportPortal и т. п.). Автоматизация и масштабирование реализуются максимально просто — через добавление и параметризацию в проекте GitLab CI обычного шаблона gitlab-ci.yml.
Преимущество подхода заключается в том, что вся CI-инфраструктура, нагрузочные агенты, докер-образы источников нагрузки, пайплайны тестирования и публикация отчетов — поддерживаются силами централизованного отдела автоматизации (DevOps-инженерами), а инженеры по нагрузочному тестированию могут сосредоточить свои усилия на разработке тестов и анализе их результатов, не занимаясь инфраструктурными вопросами.
Для простоты описания будем считать, что целевое тестируемое приложение или сервер уже развернуты и настроены заранее (для этого могут быть использованы автоматизированные сценарии на Python, SaltStack, Ansible и др.). Тогда вся концепция нагрузочного тестирования как сервиса укладывается в три этапа: подготовка, тестирование, публикация отчетов. Подробнее на схеме (все картинки кликабельны):
Основные понятия и определения в нагрузочном тестировании
При проведении нагрузочных испытаний мы стараемся придерживаться стандартов и методологии ISTQB, используем соответствующую терминологию и рекомендуемые метрики. Приведу краткий перечень основных понятий и определений в нагрузочном тестировании.
Нагрузочный агент (load agent) — виртуальная машина, на которой будет запущено приложение — источник нагрузки (Apache JMeter, Yandex.Tank или самописный нагрузочный модуль).
Цель тестирования (target) — сервер или приложение, установленное на сервере, которое будет подвергаться нагрузке.
Тестовый сценарий (test case) — набор параметризованных шагов: действия пользователей и ожидаемые реакции на эти действия, с зафиксированными сетевыми запросами и ответами, в зависимости от заданных параметров.
Профиль или план нагрузки (profile) — в методологии ISTQB (п. 4.2.4, стр. 43) профили нагрузки определяют критически важные для конкретного теста метрики и варианты изменения параметров нагрузки в течение теста. Примеры профилей вы можете видеть на рисунке.
Тест (test) — сценарий с заранее определенным набором параметров.
Тест-план (test-plan) — набор тестов и профиль нагрузки.
Тестран (testrun) — одна итерация запуска одного теста с полностью выполненным сценарием нагрузки и полученным отчетом.
Сетевой запрос (request) — HTTP-запрос, отправляемый от агента к цели.
Сетевой ответ (response) — HTTP-ответ, отправляемый от цели к агенту.
HTTP-код ответа (HTTP responses status) — стандартный код ответа от сервера приложений.
Транзакция (transaction) — полный цикл «запрос — ответ». Транзакция считается от начала отправки запроса (request) до завершения приема ответа (response).
Статус транзакции (transactions status) — удалось ли успешно завершить цикл «запрос – ответ». Если в этом цикле была любая ошибка, то вся транзакция считается неуспешной.
Время отклика (latency) — время от окончания отправки запроса (request) до начала приема ответа (response).
Метрики нагрузки (metrics) — определяемые в процессе нагрузочного тестирования характеристики нагружаемого сервиса и нагрузочного агента.
Основные метрики для измерения параметров нагрузки
Некоторые наиболее общеупотребительные и рекомендуемые в методологии ISTQB (стр. 36, 52) метрики приведены в таблице ниже. Схожие метрики для агента и цели указаны в одной строке.
Принципиальная схема нагрузочного тестирования
Принципиальная схема нагрузочного тестирования очень проста и состоит из трех основных этапов, о которых я уже упоминал: Prepare — Test — Report, то есть подготовка целей тестирования и задание параметров для источников нагрузки, затем выполнение нагрузочных тестов и, в конце, формирование и публикация отчета о тестировании.
Примечания к схеме:
- QA.Tester — эксперт по нагрузочному тестированию,
- Target — целевое приложение, для которого нужно узнать его поведение под нагрузкой.
Классификатор сущностей, этапов и шагов на схеме
Подключение источников нагрузки в CI-шаблоне
Перейдем к практической части. Я хочу показать, как на некоторых проектах в компании Positive Technologies мы реализовали концепцию нагрузочного тестирования как сервиса.
Сначала силами наших DevOps-инженеров мы создали в GitLab CI выделенный пул агентов для запуска нагрузочных тестов. Чтобы не путать их в шаблонах с другими, например сборочными, пулами, мы добавили теги на эти агенты, tags: load. Можно использовать любые другие понятные теги. Они задаются во время регистрации GitLab CI Runners.
Как узнать требуемую мощность по «железу»? Характеристики нагрузочных агентов — достаточное количество vCPU, RAM и Disk — могут быть рассчитаны исходя из того, что на агенте должны быть запущены Docker, Python (для Yandex.Tank), агент GitLab CI, Java (для Apache JMeter). Для Java под JMeter также рекомендуют использовать минимум 512 МБ RAM и, в качестве верхнего предела, 80% доступной памяти.
Таким образом, исходя из нашего опыта, мы рекомендуем использовать для нагрузочных агентов как минимум: 4 vCPU, 4 ГБ RAM, 60 ГБ SSD. Пропускная способность сетевой карты определяется на основе требований профиля нагрузки.
У нас в основном используются два источника нагрузки — докер-образы Apache JMeter и Yandex.Tank.
Yandex.Tank — это опенсорсный инструмент компании Yandex для проведения нагрузочного тестирования. В основе его модульной архитектуры — высокопроизводительный асинхронный hit-based-генератор HTTP-запросов Phantom. Танк имеет встроенный мониторинг ресурсов тестируемого сервера по протоколу SSH, может автоматически остановить тест по заданным условиям, умеет выводить результаты как в консоль, так и в виде графиков, к нему можно подключить свои модули для расширения функциональности. Кстати, мы использовали Танк, когда это еще не было мейнстримом. В статье «Яндекс.Танк и автоматизация нагрузочного тестирования» можно прочитать историю, как в 2013-ом мы проводили с его помощью нагрузочное тестирование PT Appllication Firewall — одного из продуктов нашей компании.
Apache JMeter — это опенсорсный инструмент для проведения нагрузочного тестирования компании Apache. Он может одинаково хорошо использоваться как для тестирования статических, так и динамических веб-приложений. JMeter поддерживает огромное количество протоколов и способов взаимодействия с приложениями: HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET и т. д.), SOAP / REST Webservices, FTP, TCP, LDAP, SMTP(S), POP3(S) и IMAP(S), базы данных через JDBC, умеет исполнять shell-команды и работать с Java-объектами. У JMeter есть IDE для создания, отладки и исполнения тест-планов. Также имеется CLI для работы в командной строке любой совместимой с Java ОС (Linux, Windows, Mac OS X). Инструмент умеет динамически генерировать HTML-отчет о тестировании.
Для удобства использования внутри нашей компании, для возможности самим тестировщикам изменять и добавлять окружение мы сделали сборки докер-образов источников нагрузки на GitLab CI с публикацией во внутренний докер-реджистри на Artifactory. Так получается быстрее и проще подключать их в пайплайнах для нагрузочных тестов. Как сделать docker push в registry через GitLab CI — смотрите в инструкции.
Базовый докер-файл для Yandex.Tank мы взяли этот:
Dockerfile
1 | FROM direvius/yandex-tank
2 | ENTRYPOINT [""]
А для Apache JMeter этот:
Dockerfile
1 | FROM vmarrazzo/jmeter
2 | ENTRYPOINT [""]
Как устроена наша система continuous integration, вы можете прочитать в статье «Автоматизация процессов разработки: как мы в Positive Technologies внедряли идеи DevOps».
Шаблон и пайплайн
Пример шаблона для проведения нагрузочных тестов доступен в проекте demo-load. В readme-файле можно прочитать инструкцию по использованию шаблона. В самом шаблоне (файл .gitlab-ci.yml) есть примечания о том, за что отвечает тот или иной шаг.
Шаблон очень простой и демонстрирует три этапа нагрузочного тестирования, описанных выше на схеме: подготовка, тестирование и публикация отчетов. За это отвечают stages: Prepare, Test и Report.
- Этап Prepare следует использовать для предварительной настройки целей тестирования или проверки их доступности. Окружение для источников нагрузки настраивать не требуется, они заранее собраны как докер-образы и выложены в docker registry: достаточно указать нужную версию на этапе Test. Но можно пересобрать их и сделать свои модифицированные образы.
- Этап Test используется для указания источника нагрузки, запуска тестов и сохранения артефактов тестирования. Можно выбрать любой источник нагрузки: Yandex.Tank, Apache JMeter, свой или все вместе. Для отключения ненужных источников достаточно закомментировать или удалить job-у. Точки входа для источников нагрузки:
- параметры запуска Yandex.Tank указываются в файле ./tests/yandextank.sh,
- параметры запуска Apache JMeter указываются в файле ./tests/jmeter.sh.
Примечание: шаблон сборочной конфигурации используется для настройки взаимодействия с CI-системой и не предполагает размещения в нем логики тестов. Для тестов указывается точка входа, где находится управляющий bash-скрипт. Способ запуска тестов, формирование отчетов и сами тестовые сценарии — должны быть реализованы QA-инженерами. В демопримере для обоих источников нагрузки в качестве простейшего теста используется реквест основной страницы Яндекса. Сценарии и параметры тестов лежат в каталоге ./tests. - На этапе Report нужно описать способы публикации результатов тестирования, полученных на этапе Test, во внешние хранилища, например в GitLab Pages или специальные системы отчетности. Для GitLab Pages требуется, чтобы после окончания тестов каталог ./public был непуст и содержал как минимум файл index.html. О нюансах работы сервиса GitLab Pages вы можете прочитать по ссылке.
Примеры, как экспортировать данные:
Инструкции по настройке публикации:
В демопримере пайплайн с нагрузочными тестами и двумя источниками нагрузки (можно отключить ненужный) выглядит так:
Apache JMeter умеет сам формировать HTML-отчет, поэтому его выгоднее сохранять в GitLab Pages штатными средствами. Вот так выглядит отчет Apache JMeter:
В демопримере для Yandex.Tank вы увидите лишь фейковый текстовый отчет в разделе для GitLab Pages. В процессе тестирования Танк умеет сохранять результаты в базу InfluxDB, а оттуда их можно отобразить, например, в Grafana (настройка выполняется в файле ./tests/example-yandextank-test.yml). Вот так отчет Танка выглядит в Grafana:
Резюме
В статье я рассказал про концепцию «нагрузочное тестирование как сервис» (load testing as a service). Основная идея состоит в использовании инфраструктуры преднастроенных пулов нагрузочных агентов, докер-образов источников нагрузки, систем отчетности и объединяющего их пайплайна в GitLab CI на базе простого шаблона .gitlab-ci.yml (пример по ссылке). Все это поддерживается силами небольшой команды инженеров-автоматизаторов и тиражируется по запросу продуктовых команд. Надеюсь, это поможет вам в подготовке и реализации аналогичной схемы в вашей компании. Благодарю за внимание!
P. S. Хочу сказать большое спасибо моим коллегам, Сергею Курбанову и Николаю Юсеву, за техническую помощь с реализацией концепции load testing as a service в нашей компании.
Автор: Тимур Гильмуллин — зам. руководителя отдела технологий и процессов разработки (DevOps) компании Positive Technologies
Лечебная физическая культура | Функциональные тесты с физической нагрузкой
Определение состояния сердечно-сосудистой системы, ее реакции на физическую нагрузку является основным в функциональном контроле, поскольку именно состояние функции сердечно-сосудистой системы ограничивает жизнедеятельность человека.
Как известно, физическая нагрузка требует существенного повышения функции сердечно-сосудистой системы, от которой (вместе с системами дыхания и крови) зависит обеспечение работающих мышц достаточным количеством кислорода и выведением из тканей углекислоты. Иначе говоря, при физической нагрузке необходимо доставлять на периферию возможно большее количество крови. Сердечно-сосудистая система обладает рядом механизмов, обеспечивающих выполнение этой задачи. Прежде всего — это гемодинамические факторы: увеличение ЧСС, систолического выброса за счет расширения полостей сердца, ускорение кровотока в 3 раза (эритроцит проходит большой круг кровообращения за 8 сек. вместо 24 сек. в покое), увеличение массы циркулирующей крови, а также изменение артериального давления. Степень изменения гемодинамичеоких показателей в значительной мере зависит от их исходных величин в состоянии покоя. Из всех гемодинамических показателей наиболее простыми и нашедшими широкое применение являются частота сердечных сокращений (ЧСС) и артериальное давление (АД).
Тесты с физической нагрузкой позволяют определить физическую работоспособность и решить вопрос о допустимой общей нагрузке при занятиях различными видами ЛФК. Функциональные тесты выявляют степень нарушения функции того или иного органа, с помощью функциональных тестов выбирают частную методику лечебной гимнастики, дозируют специальные упражнения.
В основе тестирования с использованием физических нагрузок в ЛФК лежат различные принципы. Программа физического тестирования предназначена для: 1) оценки функционального состояния и резервов сердечно-сосудистой и дыхательной системы с целью определения общей нагрузки при назначении ЛФК и выбора программы физической тренировки; 2) оценки физической работоспособности; 3) оценки эффективности программ физической реабилитации.
Противопоказания к проведению нагрузочных тестов. Тесты с физической нагрузкой не проводятся больным, у которых повседневные физические нагрузки, медленная ходьба вызывают боль в сердце, одышку, слабость и сердцебиения. Их двигательные возможности оцениваются как низкие — по данным опроса.
Тесты с физической нагрузкой противопоказаны больным с высоким артериальным давлением и учащенным пульсом, а также пациентам, имеющим в анамнезе указания на ишемическую болезнь се
Основные виды нагрузочного тестирования | BUGZA
Тестирование производительности (Performance testing)
Задачей тестирования производительности является определение масштабируемости приложения под нагрузкой, при этом происходит:
- Измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций.
- Определение количества пользователей одновременно работающих с приложением.
- Определение границ приемлемой производительности при увеличении нагрузки (при увеличении интенсивности выполнения этих операций).
- Исследование производительности на высоких, предельных, стрессовых нагрузках.
Стрессовое тестирование (Stress Testing)
Стрессовое тестирование позволяет проверить, насколько приложение и система в целом работоспособны в условиях стресса и также оценить способность системы к регенерации, т.е. к возвращению к нормальному состоянию после прекращения воздействия стресса. Стрессом, в данном контексте, может быть повышение интенсивности выполнения операций до очень высоких значений или аварийное изменение конфигурации сервера. Также одной из задач при стрессовом тестировании может быть оценка деградации производительности, таким образом, цели стрессового тестирования могут пересекаться с целями тестирования производительности.
Объемное тестирование (Volume Testing)
Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения, при этом происходит:
- Измерение времени выполнения выбранных операций при определенных интенсивностях выполнения этих операций.
- Может производиться определение количества пользователей одновременно работающих с приложением.
Тестирование стабильности или надежности (Stability / Reliability Testing)
Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки. Время выполнения операций может играть в данном виде тестирования второстепенную роль. При этом, на первое место выходит отсутствие утечек памяти, перезапусков серверов под нагрузкой и другие аспекты влияющие именно на стабильность работы.+
Инструментом для проведения нагрузочного тестирования является Apache Jmeter.
Нагрузочное тестирование — плюсы и минусы профессии
Нагрузочное тестирование – плюсы и минусы профессии
Осень в работе инженера тестирования – это то самое время года, на которое чаще всего приходится пик работ (High Season), когда все наши клиенты резко вспоминают про нагрузочное тестирование и хотят срочно быстро до нового года все успеть. Соответственно возникает резонный вопрос: «А кто же все это будет делать?». Рабочих рук не хватает, и надо их как-то где-то добыть. Кто такой нагрузочный тестировщик, что означает работа в Перфоманс Лаб, почему стоит идти именно в нагрузочное тестирование?
Вопрос: «Почему люди не стремятся в НТ, а хотят непременно в разработку?»
При том, что задачи, которые мы решаем, бывают часто и сложнее, и динамичнее.
Рассмотрим все плюсы и минусы профессии нагрузочного тестировщика.
Начнем с минусов
Недооцененность
Простой вопрос: почему одна работа приносит удовольствие, а другая кажется каким-то невнятным убийством времени? Человеку всегда приятно чтобы работа, которую он делает, была оценена по достоинству, т.е. если то, что ты делаешь, не ценится другими людьми, то и удовольствия это не приносит. Зачастую работа нагрузочного тестировщика недооценена, т.к. не может быть представлена наглядно. Понимание, что без проведения нагрузочных тестов любая критичная ИТ система подвергается серьезному риску, и какая сложная стоит работа за, казалось бы, простыми тестами, бывает далеко не у всех заказчиков. Частенько о НТ вспоминают в самый последний момент, или просят провести “для галочки”. Конечно, в таком случае слабая вовлеченность Заказчика или общая ситуация на проекте не позволяет раскрыть потенциал нагрузочного тестирования.
Борьба
Имеются и другие минусы: часто приходится сталкиваться с ограничениями, т.е. когда проект по НТ превращается в борьбу с внутренней бюрократией, включая выпрашивание доступов, вымаливание стендов, постоянные задержки при предоставлении логов или применении настроек. Да, в больших проектах НТ иногда не столько времени тратится на само тестирование, сколько на организационную работу. И если ты не являешься гуру деловой переписки и не знаешь кунг-фу эскалации проблем, может показаться, что никто тебя не понимает.
Сроки
Проблема номер три по частоте появления – нереальные сроки. В этой ситуации перфекционист внутри тебя говорит: «Нет, это надо сделать или хорошо или никак!», а сроки настолько сжаты, что можно сделать только как-нибудь. Тут приходится впрягаться по полной, иногда работать по вечерам и ночам.
Технологический взрыв
Иногда мы встречаемся с ИТ-системами, написанными на таких технологиях, что можно ужаснуться, как же это может работать в продуктивной среде? Как это поддерживалось и развивалось? И самая актуальная проблема: как это тюнить и исправлять? Собственные СУБД, самодельные протоколы, мертвые языки, отсутствие хоть какого-то понимания работы интеграции, отсутствие документации это – реальность.
Регресс
Но вот мы победили систему, дракон повержен, модель готова, НТ работает как часы. И начинаются серые будни, нужно катать одни и те же тесты, релиз за релизом, месяц за месяцем. Мы уже все знаем про систему, все ее слабые стороны и типичные глюки, все бизнес-процессы и вообще все. И хочется чего-то нового, но релизы идут и идут. Тут впору и заскучать.
Теперь про плюсы
НЕХ
Как это нагрузить? Как сделать этот эмулятор? Как подменить сертификат и обмануть сервер? Как деперсонализовать базу? В чем тут может быть проблема? Как это профилировать? Поначалу эти вопросы ставят в тупик даже ведущих инженеров, но к любой системе можно найти подход. Да, приходится погружаться, приходится импровизировать, постоянно пробовать новые инструменты. Это и хорошо, так как расширяет кругозор и позволяет двигаться вперед.
Разные заказчики – разные правила
Внутри нашей компании всегда можно сменить проект. Когда ты понимаешь, что эта система тебе “надоела” или этот заказчик тебя “достал” ты можешь сказать им: «Пока-пока!», и взять другой проект. Часто проекты по НТ достаточно короткие, но позволяют заглянуть за кулисы крупных корпораций и понять, что там за банка с пауками вместо рабочей обстановки. Я поработал примерно в 50-ти наших банках и крупных компаниях, и теперь к сказкам из HR отдела отношусь весьма скептически. Реально нормальных компаний, где были бы профессионалы и фанаты своего дела, а не менеджеры по объявлению, играющие в богов, исключительно мало.
Технологии
В нашей компании, к технологическим наработкам относятся очень трепетно. Мы их храним, систематизируем, причесываем и пытаемся повторно использовать. Конечно в нагрузочном тестировании не так много чистой разработки, и мы не увлечены погоней за “чистотой кода” и правильными моделями разработки, но собственные плагины, эмуляторы, связки инструментов и всякие “маленькие” хитрости, конечно, имеются. Практически постоянно идут разные исследовательские работы, некоторые интересные идеи удается реализовать в реальных проектах, некоторые умирают, но мы всегда на острие и стараемся на несколько шагов обгонять наших конкурентов.
Инструменты
Все мы знаем, что для разработки есть огромное количество всяких IDE, бессчётное количество фреймворков и библиотек, а что же у нагрузочного тестировщика? Неужели это тот парень, который освоил LoadRunner и больше ничего ему знать не надо? На самом деле инструментов много, даже очень много, т.е. гораздо больше чем один человек способен освоить и испробовать. Каждый ведущий инженер в нашей компании знает и профессионально владеет не менее чем 2-мя инструментами НТ. А обычно 3-4 инструмента. На самом деле это интересно, через некоторое время работы в НТ, у каждого формируются предпочтения. Но наша отрасль не стоит на месте, появляются новые версии и инструменты совершенствуются, появляются облачные сервисы и новые методологии. Постоянно приходится изучать и использовать новые “фишки”, например, нагрузочное тестирование IVR, тестирование мобильных приложений или разбор терминальных протоколов.
Методология
Что касается теоретической части, она, как обычно, в процессе разработки. Вообще, на русском языке мало информации по нашей теме, но мы стараемся заполнять информационный вакуум: переводим интересные статьи и книги. Недавно пробовали участвовать в разработке международной системы сертификации нагрузочных тестировщиков, но пока в отрасли нагрузочного тестирования много «тумана». Регулярно организуем курсы, участвуем в тематических конференциях, проводим “круглые столы” по нашей тематике. Также занимаемся развитием QA в России: проводим аудит процессов тестирования и разработки, консультируем клиентов. Таким образом, если вы занимаетесь нагрузкой, привыкайте к тому, что вам придется проповедовать, объяснять и продвигать вашу профессию.
Творческий Рост
Вообще в НТ попадают разные люди, но склад ума должен быть особенный. Совсем не обязательно быть true-программистом, иногда это даже будет мешать, но скилл копания в коде и любви к программированию необходим. Чаще всего мы берем человека после института и учим-учим-учим-учим. Это обучение проходит в боевой обстановке на реальных проектах. В среднем, от стажера до позиции ведущего инженера проходит 4-5 лет, за это время человек успевает поучаствовать в десятках различных проектов. По итогам такого обучения наш специалист знает о тестировании, ИТ-архитектуре, разработке и техническом пресейле, т.е. он в разы круче аналогичного специалиста заказчика, который просидел все это время на одном-двух проектах.
Комфорт работы
Для чего мы работаем? Чтобы добыть денег? Это, скажу по правде, плохой стимул. Хороший стимул – это когда ты занимаешься чертовски интересным делом, тебя окружают друзья, и за это ещё и платят. Многие называют это корпоративной культурой, наверное это так. Мы выросли из стартапа который занимался НТ, и по сути направление нагрузки у нас осталось первостепенным. Конечно, в компании из 300+ человек уже нельзя обойтись без бюрократии, но если вы работали когда-нибудь в крупной компании, то знаете, что большая часть усилий тратится не на работу, а на проворачивание шестеренок внутренней бюрократической машины. В этом плане наше производство – это услуги, и если появляется какая-то инновация, мы всегда идем навстречу сотрудникам и всячески их поддерживаем.
Американская тема
Не секрет, что последние пару лет наша ИТ отрасль плавно загибается, денег нет, но мы держимся. Наша компания держится не только на крупных российских заказчиках, но и пытается работать на международном рынке. Это довольно тяжело: сказывается разница во времени, отсутствие хорошего разговорного английского у технарей, другие методологии и стандарты работы, удаленка и проблемы с оценкой трудозатрат. Но мы потихоньку осваиваемся, уже есть команды работающие с американскими заказчиками на постоянной основе. Вообще наша цель “Захватить мир” становится на полшага ближе. Так что, если хотите подтянуть язык, попробовать геораспределенные проекты – это к нам.
R&D
Каждый айтишник в глубине души мечтает сделать свою соцсеть, и потом стать Цукербергом ну или Дуровым, на худой конец. Мы тоже всегда мечтаем, и хотим сделать, сделать свой, идеальный инструмент нагрузочного тестирования. Что-то свое собственное, то, что удобнее и подходит для нас и наших проектов лучше всего. В разные годы эта мечта облекалась в разную оболочку, и получались разные инструменты. Некоторые из них выдержали проверку временем и используются как ноу-хау у наших клиентов. Если посмотреть на https://performance-lab.ru/testing-utilities, то там десятки разных полезных утилит. У нас постоянно идет внутренняя разработка, поэтому страничка регулярно обновляется.
Сезонность
Да, у нас в IT есть сезонность, как бы странно это не звучало. Зима – спим, весна – просыпаемся, лето – разминаемся, осень – работаем как черти. Обычно это зависит от наших заказчиков, т.к. чтобы внедрить что-то к новому году, надо очень активно тестировать, и пик приходится на октябрь-ноябрь. Но случалось, что и 31-го декабря, когда обычные люди уже собираются накрывать на стол, я проверял отчеты по нагрузочному тестированию перед отправкой клиенту. Осень – горячая пора в госсекторе (и не только), когда надо успеть обосновать бюджет на следующий год (эффективно распределив выделенные средства по текущим проектам), а для банков и ритейла важно успеть в пик продаж, возникающий перед новогодними праздниками. За полторы-две недели до нового года обычно наступает фриз, но QA все равно не дают отдохнуть, ведь длинные новогодние праздники – это отличный повод, чтобы отключить систему и внедрить какое-нибудь адское обновление.
Технический пресейл
Это тоже к нам. Да, каждый из ребят нашего направления понимает из чего состоят проекты, как их оценивать, и как их продавать, а также как проводить интервью с клиентом, как сформулировать цель тестирования, как определить трудоемкость и стоимость. То есть у нас нет такого, что мы не понимаем, что же мы продали и как теперь делать проект. Поэтому каждый инженер по производительности участвует в подготовке коммерческих предложений. А иногда он же и является потом исполнителем, и отвечает за качество перед заказчиком.
Итог
Итак, подводя итог, хочется сказать, как напутствие тем, кто только выбирает свое призвание в мире IТ. Любая работа интересна и важна, и по большей части ценны не какие-то конкретные навыки и конкретные технологии, а умение быстро в эти технологии погружаться и кругозор. Если вы хотите преуспеть – вам надо быть чертовски работоспособным, не бояться потратить часть энергии впустую, не боятся браться за сложную работу, не боятся браться за то, что не умеешь, и то, что поначалу кажется каким-то адом, через полгода будет восприниматься сущей ерундой. Ведь за что, по большому счету, человеку платятся деньги – за опыт, ответственность и работоспособность. И все эти три пункта не прокачиваются в тепличных условиях.
И да, у нас тяжело и весело, приходите к нам!
Система проведения стресс-теста с нагрузкой и мониторированием показателей сердечного ритма и артериального давления
В соответствии с проектом Приказа Министерства здравоохранения РФ «Об утверждении Порядка организации медицинской реабилитации взрослых»
(подготовлен Минздравом России 20.08.2019 г.) — вступает в силу с 1 января 2021 года.
мы можем предложить вам
Проведение стресс-теста с нагрузкой
В процессе проведения стресс-тестов сердце подвергают индуцированной повышенной потребности в кислороде, наблюдая за ним с помощью ЭКГ или визуализирующих методов, что может помочь в выявлении зоны ишемии, потенциально опасной в отношении развития ИМ. Исследование проводят до увеличения ЧСС до 85% от расчетного возрастного максимума (целевые значения ЧСС) или до момента возникновения симптомов.
Нагрузочное тестирование используется для
- Диагностики ишемической болезни сердца (ИБС)
- Стратификации риска у пациентов с установленной ИБС
- Наблюдения за пациентами с установленной ИБС
Потребность сердечной мышцы в кислороде может быть увеличена за счет:
-
Физической нагрузки -
Лекарственных препаратов
Пациентов необходимо госпитализировать за 4–6 ч до исследования. Ксантиновые производные (такие как аминофиллин, теофиллин, кофеин) могут приводить к ложноотрицательным результатам при выполнении теста с дипиридамолом, поэтому данные вещества (включая чай и кофе, какао, шоколад, некоторые энергетические продукты и напитки и кофеинсодержащая газированная вода) запрещают принимать за 24 ч до проведения теста.
Нагрузочный стресс-тест
Физическую нагрузку считают более предпочтительной, чем использование лекарственных средств, для увеличения потребности миокарда в кислороде, поскольку она более точно соответствует естественным стрессорным воздействиям, вызывающим ишемию. Обычно пациент идет по стандартной бегущей дорожке, выполняя протокол Брюса, либо выполняет аналогичный протокол до тех пор, пока не будет достигнута целевая ЧСС или не появятся соответствующие симптомы. Согласно протоколу Брюса (наиболее часто используемому), увеличение скорости и наклона дорожки производят с интервалом 3 мин.
Мониторирование показателей сердечного ритма и артериального давления
Стресс-тест — это проба с дозированной физической нагрузкой, которая проводится для оценки функционального состояния сердечно-сосудистой системы. Метод позволяет выявить нарушения сердечного ритма, провести дифференциальную диагностику аритмий, оценить причину загрудинных болей, а также патологические изменения артериального давления при физической нагрузке. Оценить в целом реакцию организма на физиологические по возрасту физические нагрузки. В зависимости от целей исследования проводится мониторинг сердечного ритма или артериального давления.
8 инструментов для стресс-тестирования процессора
Производительность вашего компьютера зависит от того, насколько быстрые процессор, чтобы он мог легко справиться с самыми сложными задачами. Для определения его возможностей лучше всего использовать стресс-тестирование. Прежде чем начать, вы должны знать, что эти тесты при запуске пиковой нагрузки могут вызвать перегрев.
В соответствии со своим программным обеспечением HeavyLoad от Jam Software может подвергать ваш компьютер высокой нагрузке.
AIDA64 является очень мощным инструментом, поддерживающим все системы от Microsoft 95/98 до Windows Server 2016. Есть дополнительные тесты на напряжение, скорость вращения вентилятора, температуру и многое другое. Это полноценный диагностический инструмент.
3. Стресс-Нг
Пользователи Linux могут рассчитывать на надежный инструмент для выполнения тех же нагрузочных тестов в своем любимом дистрибутиве. Стресс-тесты, специфичные для ЦП, включая плавающую точку, целое число, манипулирование битами и поток управления.
Для Debian команда установки Stress-ng выглядит следующим образом:
sudo apt-get install стресс-нг
С помощью Stress-ng можно указать метод CPU, таймаут и количество поддерживаемых операций.
stress-ng --cpu 8 - io 2 - timeout 30s --metrics
Полная информация о доступе по этой ссылке .
Как и в панели задач Windows, Mac предлагает монитор активности, который предоставляет полную таблицу всех выполняющихся процессов.Но для стресс-теста вам нужно загрузить внешнее приложение под названием Geekbench 4.
Не хотите скачивать программное обеспечение? Веб-сервис CPUX даст вам надежное стресс-тестирование, а также покажет, какое место ваша система занимает среди других. Если вы введете максимальное количество потоков («64») и запустите штуку на максимальную («100%»), ваш ПК может столкнуться с ограничениями », для устранения которых потребуется более пары перезагрузок.Не говори, что не предупреждал тебя!
Это программное обеспечение для Windows очень популярно для CPU и различных тестов с 2003 года. В соответствии со своим названием, оно проверяет разгон среди прочих тестов. Вместо объединения всех результатов в один, каждый тест выполняется отдельно.
Другая классика, это программное обеспечение доступно для стресс-тестирования с 1995 года. Prime95 охватывает весь спектр операционных систем, включая Windows, Linux, Mac и FreeBSD.Рабочая нагрузка поддается проверке, и ее результаты остаются впечатляющими.
Novabench — это унифицированный инструмент, который ИТ-команды часто использует для различных тестов CPU с большой нагрузкой. Результат в считанные минуты.
Резюме
Многие онлайновые диагностические инструменты работают только с CPU, но и с оперативной памятью, видеокарт и GPU. Такие комбинированные результаты не дают точной картины.Единственный вопрос, на который вам нужен ответ — насколько «загрузить» компьютер без перегрева.
Какие инструменты стресс-тестирования CPU вы рекомендуете? Пожалуйста, поделитесь своими идеями в комментариях.
Спасибо, что читаете! Подписывайтесь на мои каналы в Telegram , Яндекс.Мессенджере и Яндекс.Дзен . Только там обновления блога и новости мира информационных информационных технологий.
Также, читайте меня по почте: Facebook , Twitter , VK , OK .
Респект за пост! Спасибо за работу!
Хотите больше постов? Узнавать новости технологий? Читать обзоры на гаджеты? Для всего этого, а также для продвижения сайта, покупки нового дизайна и оплаты хостинга, мне необходима помощь от вас, преданные и благодарные читатели. Подробнее о донатах читайте на специальной странице .
Есть возможность стать патроном , ежемесячно поддерживать блог донатом, или воспользоваться Яндекс.Деньгами , WebMoney , QIWI или PayPal :
Заранее спасибо! Все собранные средства будут пущены на развитие сайта. Поддержка проекта является подарком владельцу сайта.
Поделиться ссылкой:
.
ТОП 10. Программы для стресс теста компьютера
Программы для стресс тестирования компьютера нужны в различных ситуациях. Особенно при покупке бывших в употреблении комплектующих нужно проверить их на стабильность. Стресс тестирование в первую очередь поможет определить состояние процессора и видеокарты.
Эта статья содержит ТОП 10 программ для стресс компьютера в целом. Ниже предложенные могут тестировать все комплектующие (процессор, видеокарту, оперативную память и даже накопитель).Некоторые из них нацелены на отдельные комплектующие.
Лучшие программы для стресс теста процессора и видеокарты
AIDA64 Extreme
Программа содержит все подробные технические характеристики компьютера. Их можно лёгкости посмотреть и даже узнать температуру комплектующих. Доступно бесплатно в пробном периоде. Смотрите более подробно, как пользоваться программой AIDA64 Extreme.
Дополнительно можно тестировать ПК на стабильность.Можно запустить стресс тест процессора, видеокарты, оперативной памяти и даже установленного накопителя. Тестируйте все комплектующие одновременно или создавайте нагрузку для отдельных компонентов.
ОККТ Перестройка
Это программа непосредственно для тестирования компьютера. Можно запустить многофункциональный тест, способный проверить процессор, оперативную память, видеокарту и даже блок питания. Смотрите все описания тестов: как пользоваться OCCT Perestroika.
Интерфейс обновлённой пятой версии стал более последовательным. Все тесты находятся в одном месте. Можно изменить число потоков непосредственно в программе. Встроенный мониторинг поможет контролировать основной показатель — рабочие температуры.
FurMark
Это лёгкий и очень интенсивный тест графической карты / графического процессора на ОС Windows 10. Идеально подходит для тестирования работоспособности видеокарты перед покупкой. Показывает все необходимые данные для оценки состояния.
Используется для диагностики видеокарт и поиска артефактов или повреждений. Все полученные данные можно сохранить в текстовом документе или создать снимок экрана. И отправить для анализа её состояния любому человеку (другу или покупателю).
MSI Комбустор
В основном используется программа для проведения синтетических тестов видеокарты. Она включает все нужные инструменты для стресс-тестирования, а также позволяет выявить изменение важных параметров до и после разгона графической карты.
Можно проверить насколько производительна текущая конфигурация пользователя. Включает порядок десяти синтетических тестов. Отображает все важные параметры видеокарты, температуру, напряжение, уровень загрузки, количество FPS и другие.
IntelBurnTest
Ещё один инструмент для стресс-тестирования процессора, который поможет Вам максимально увеличить нагрузку на процессор. Это покажет насколько стабильно он работает. Используется часто для тестирования стабильности разгона процессора.
В сравнении с программой Primer95, Linpack (с помощью IntelBurnTest) предлагает более точные результаты тестирования. Работает с процессорами производства Intel и AMD. Простой графический интерфейс позволяет отрегулировать важные параметры.
Средство диагностики процессора Intel
Программа поддерживает тестирование только процессоров Intel (что очень ожидаемо). Оптимальным является функциональный тест, который использует все возможности программы Intel Processor Diagnostic Tool и запускает стресс-тест в течение нескольких минут.
Дополнительно можно проверить функциональность всех ядер, рабочую частоту, проверить работу процессора или выполнить нагрузочный тест. В итоге получаем минимальную и максимальную температуру, зарегистрированную во время тестов.
Prime95
Это бесплатное приложение, используемое для стабильности при разгоне комплектующих. Тест выполняется путём огромного количества математических вычислений, предназначенных для поиска большого объёма простых чисел.
Предназначен для тестирования процессора и оперативной памяти. Интерфейс программы далеко не лучший. Хотя функций действительно очень мало. Можно выбрать только один с доступных тестов. Отдельно смотрим температуру процессора в Windows 10.
CPU-Z
Все знают утилиту как небольшое приложение для просмотра характеристик компьютера. Но в нём присутствует мощный стресс тест производительности центрального процессора. Вы не представляете насколько он удобен.Можно выбрать определенное количество ядер.
Присутствует выбор эталонного процессора для сравнения производительности. Подобной функциональности в программах для стресс тестов мы ещё не встречали. Можно использовать не только бесплатную, но и портативную версию программы.
Cinebench R20
Новый бенчмарк предназначенный исключительно для тестирования процессоров. Он создан для определения уровня производительности процессора при расчете сцены с использованием технологии Cinema 4D и движка трассировки лучей Intel Embree.
В Cinebench R20 был удалён тест графической карты. Добавлена поддержка мультипоточности процессоров. Теперь отдаётся предпочтение чипам с высокими тактовыми частотами. Сложность сцены процессорного теста очень выросла — до 8 раз.
3DMark
Самый популярный бенчмарк 3DMark получил функциональность для стресс тестирования. Правда, доступно только для редакций Advanced и Professional. Стресс тест использует сценарии нагрузки Sky Diver и Fire Strike.Проверка проводится 20 раз в течение более 10 минут.
В итоге пользователю показывается график температуры компонентов и частоты кадров. Если же в процессе тестирования был троттлинг, это будет на графике. Приобрести приложение можно в библиотеке Steam.
Заключение
Обратите внимание! Стресс тестирование может привести к повреждению компьютера в целом. Но и другие элементы материнской платы работают не только в предельном режиме, но и другие элементы материнской платы.В любом случае пользователю просто необходимо контролировать рабочие температуры всех комплектующих.
Программа для стресс-тестов компьютера можно найти множество. Мы же рекомендуем использовать AIDA64 Extreme. Для тестирования графической карты пользователи предпочитают FurMark. Некоторые бенчмарки также очень достойно загружают как процессор, так и видеокарту.
.
Как сделать тест стабильности системы (стресс-тест)
Всем привет! Сегодня мы с вами делаем тестовое тестирование компьютера с помощью тестирования эффективности систем и проверки стабильности работы.
Цели проведения нагрузочного тестирования
Как и всякое тестирование, стесс-тест компьютера решает определенные задачи. Рассмотрим наиболее популярные цели:
- Оценка стабильности системы после «разгона».
- Проверка эффективности охлаждения.
- Тестирование качества комплектующих.
Рассмотрим эти цели подробнее.
Оценка стабильности системы после «разгона»
Существуют группы пользователей, занимающиеся тонким тюнингом параметров железа для достижения максимальной производительности в играх — « оверклокеры ». Эти специалисты манипулируют такими установками как частота системной шины, памяти. Увеличивают множитель процессора, повышают напряжение, питающее процессор.Используют специальные версии драйверов, выжимающие все «соки» из возможностей железа.
Так вот, чрезмерное повышение некоторых параметров может увеличить нагрев и увеличить стабильность работы компьютера. Именно специалисты поэтому во время подстройки постоянно проводят-тест компьютера, чтобы обеспечить, стабильно ли тот работает на конкретные значениях. Если стабильность подтверждена, как правило, ещё немного повышают параметры. Если наблюдаются перебои под нагрузкой, то возвращаются параметры на предыдущие стабильные значения.
Проверка эффективности системы охлаждения
Стресс-тест компьютера позволяет также выявить неполадки в системе охлаждения, поскольку при его прохождении компьютер работает на максимальной загрузке иет огромное количество тепла. Температура на процессоре очень быстро поднимается, что позволяет оценить эффективность охлаждения и выявить возможные неполадки.
Например, в случае замены термопасты рекомендуется проверить компьютер на стресс-тесте в течение нескольких минут, чтобы понять, как быстро повышается температура и до каких значений доходит.Так, если за короткий промежуток времени температура процессора дошла до 80-90 градусов, стоит ещё раз перепроверить, возможно неправильно нанесён теплопроводящий слой или неплотно прилегает радиатор к «спине» процессора (а то и вовсе отклеился).
Такой тест занимает всего несколько минут, способно сэкономить кучу времени, когда системный блок устойчивый завинчен и запрятан под стол.
Тестирование качества комплектующих
Как я уже писал выше, во время стресс-теста выделяется огромное тепловое количество энергии.Следовательно и потребление энергии тоже максимально. Этот факт можно использовать для установки проблемных мест компьютера.
Речь идёт о том, что к блоку питания предъявляются повышенные требования для выдаваемого напряжения. Оно должно находиться в узких пределах, иметь минимум пульсаций и скачков. Программы для проведения стресс-теста обычно ещё и считывают показания датчиков, таких как датчики напряжения, температурные сенсоры, скорость вращения вентиляторов и т.д. Совокупность этих показателей во жёсткой вычислительной системе на ранних стадиях выявить потенциальные проблемы с комплектующим.Например, большой разброс напряжений, выдаваемых блоком питания может свидетельствовать о его «старости» или низком качестве.
Кроме процессора, программы для нагрузочного тестирования нагружать также видеокарту, оперативную память и жёсткий диск. Каждый из этих компонентов может быть подвержен сбоям и как нельзя лучше эти дефекты проявляются в периоды максимальной загрузки.
В сервисных центрах используют тесты стабильности системы во время профилактических чисток ноутбуков, чтобы на ранней стадии выявить возможные проблемы.
Программы для проведения стресс-теста
Ну и мы были бы не мы, если бы не реализовали программы, позволяющие произвести подобное тестирование. Рассмотрим несколько наиболее популярных.
Инструмент для проверки разгона — OCCT
Ссылка на официальный сайт.
Главное окно программы следующим образом (пометил основные моменты):
- Область параметров теста. Можно выбрать на различных вкладках тестирования процессора, видеокарты или питания;
- Кнопки запуска / остановки тестирования, а также кнопка настройки мониторинга;
- Статусная строка.Во время тестирования в ней значится «Тестируется» и таймер отображает время с момента начала;
- Окно графиков и значений с датчиков. Окно имеет переключаемый вид. Здесь в настоящем времени шкалы, снимаемые со всех нужных датчиков;
- Общая информация о системе.
А вот такое окно открывается при нажатии на кнопку настройки мониторинга:
- Текущее значение датчика;
- Переопределение имени сенсора;
- Если значение датчика данного порог — тест прекращается.Целесообразно для температуры (перегрев), напряжения;
- Если значение ниже данного порога — тест прекращается. Целесообразно для скорости вращения вентиляторов (остановка) или опять же, напряжения (провалы).
- Отображать ли значения сенсора в реальном времени на графикх главного окна.
Вот так выглядит окно во время запущенного тестирования. Графики поползли вверх, в статусе отображается «Тестируется» и таймер считает время.
Кстати, программа ведёт своеобразные логи — делает скрины графиков в свой каталог:
Я могу дать санкцию данного инструмента тестирования.Мне понравилось с ним работать.
AIDA64 (бывший Everest)
Ещё одна неплохая программа, проведение стресс-теста компьютера, который не является основным предназначением.
Скачать можно отсюда.
Запускается стресс-тест посредством вызова команды меню «Сервис — Тест стабильности системы».
- Выбор параметров тестирования. Можно нагружать центральный процессор, логические диски, графический акселератор…;
- Логирование тестирования, в котором фиксируется время начала и окончания процесса;
- Вкладки, переключающие отображение графиков — температура, частота вентиляторов, напряжение, рабочая частота;
- Непосредственно график, отображаемый в реальном времени.В данном случае — температура. В левой части графика есть ползунок — масштабирования;
- Утилизация процессора;
- Кнопки запуска-остановки процесса тестирования;
Ну и куда же без сводной информации? На вкладке «Статистика» отображается сводка со всех сенсоров. Можно оценить предварительные результаты тестирования.
Загрузка …
Думаю, что данная статья могла оказаться вам полезной!
Друзья! Вступайте в нашу группу Вконтакте , чтобы не пропустить новые статьи! Хотите сказать спасибо ? Ставьте Нравится, делайте репост! Это лучшая награда для меня от вас! Так я узнаю о том, что статей подобного рода вам интересны и пишу чаще и с большим энтузиазмом!
Также подписывайтесь на наш канал в YouTube ! Видео выкладываются весьма регулярно и будет здорово увидеть что-то одним из первых!
.
Программы для стресс-теста процессора | Te4h
. Также необходимо измерить температуру при максимальных нагрузках. Если ваш процессор перегревается, он будет работать на более низкой частоте или же может попросту сгореть.
Одновременно температура и нагрузка на процессор позволяет только одна программа и она платная.Это AIDA64. Все программы для выполнения стресс-теста процессора в нашем списке только проверяют корректность работы процессора под нагрузкой. Поэтому в дополнение к ним вам понадобится программа для мониторинга температуры. А теперь давайте перейдём к рассмотрению самих программ.
Содержание статьи:
Программы для проверки стабильности процессора
Для того, чтобы создать экстремальный процессор и проверить его работу в перечисленных условиях, можно использовать перечисленные программы.Они всего лишь показывают нагрузку и проверяют правильно ли процессор в вычислениях.
1. Prime95
Утилита Prime95 входит в состав вычислительной платформы GIMPS, разработанной для поиска простых чисел Мерсена. Благодаря той программе много сложных арифметических операций, она отлично подходит для тестирования процессора. Программа производит вычисления и сравнивает полученный результат с эталоном. Если есть отличия, то вы получите сообщение об ошибке.Однако следует отметить, что программа не сообщает в чём именно проблема, она только проинформирует о её наличии.
Для выполнения тестирования достаточно запустить программу, затем выбрать на вкладке Options пункт Torture Test и нажать кнопку Ок . Тест закончится только тогда, когда вы его остановите.
Преимущества:
- среди сборщиков компьютеров и оверклокеров;
- бесплатность;
- выполнение полезной задачи — поиск простых чисел Мерсена.
Недостатки:
- непонятный интерфейс;
- отсутствие русского интерфейса;
- необходимость большого количества времени для теста.
2. IntelBurnTest
Это лучшая программа для выполнения стресс-теста процессора. Разработана Intel, использует те же тесты, которые используются в компании для проверки процессоров. Тем не менее, программа будет отлично работать и с процессорами AMD.Ваш процессор будет нагружен по максимуму, будут проверены все его ядра и характеристики. Программа намного проще Prime95. Вам достаточно выбрать длительность тестирования и уровень — стандартный, высокий, очень высокий и максимальный. Затем нужно нажать кнопку Run . Если во время теста будут обнаружены ошибки, программа выдаст об этом сообщении и прекратит тест.
Преимущества:
- тот же набор тестов, который использует и Intel при разработке процессоров;
- простота интерфейса;
- бесплатность.
Недостатки:
- отсутствие русского интерфейса.
3. Средство диагностики процессора Intel
Эта утилита специально для проверки процессоров Intel. Кроме стресс-теста она позволяет проверить брендовость, протестировать функции процессора, а также многое другое. Однако она не будет работать с процессорами AMD.
Преимущества:
- обширный функционал.
Недостатки:
- отсутствие русского интерфейса;
- отсутствие поддержки процессоров AMD.
4. OCCT
Ещё одна популярная программа для проверки процессора. Бесплатная, но по функциональности чем-то похожа на AIDA64. Вы можете запустить стресс-тестирование процессора и видеокарты, а затем увидеть на графике, как меняется напряжение, частота и частота процессора.
Для теста можно использовать набор тестов самой программы или набор Intel LinPack.Однако будьте осторожны, неверно отображает температуру процессоров AMD Ryzen. После завершения тестирования сохранит все графики в папке для дальнейшего изучения.
Преимущества:
- доступность нескольких тестов как для процессора, так и для видеокарты;
- мониторинг температуры;
- русский интерфейс;
- удобный анализ графиков.
Недостатки:
- неправильные показатели температуры для процессоров AMD Ryzen.
5. LinX
Ещё один инструмент, использующий набор тестов Intel LinPack. Для выполнения тестирования количества запусков и объём памяти, которую вы хотите использовать. Программа температуры не отображает, поэтому вам понадобится ещё и утилита Hwinfo64 или другой подобный инструмент для мониторинга температуры.
Преимущества:
- простота интерфейса;
- использование Intel LinPack.
Недостатки:
- отсутствие русского интерфейса.
6. HeavyLoad
Простая утилита для тестирования процессора, видеокарты, диска и памяти. Нагрузка на эти поставляются в программу в виде графика. Никакой дополнительной информации нет. На мой взгляд, эта программа очень сильно уступает по функциональности той же OCCT.
Преимущества:
- отображение нагрузки на компоненты в виде графика.
Недостатки:
- отсутствие русского интерфейса;
- отсутствие показателей для температуры, частоты и др.
7. powerMAX
Это ещё более простая программа для выполнения нагрузки на процессор и видеокарту от разработчика CPUID. Вы можете протестировать только процессор и видеокарту. Для выполнения теста укажите время тестирования и нажатия Start . Если во время теста были замечены какие-либо ошибки.
Преимущества:
- простота интерфейса;
Недостатки:
- отсутствие русского интерфейса и каких-либо графиков.
8. StressMyPC
Тоже довольно простая утилита. Позволяет выполнить стресс-тест процессора и видеокарты. У программы простой, но интуитивно понятный интерфейс. Для выполнения теста нажмите на кнопку Агрессивный стресс-тест вверху окна.Там же можно включить стресс-тестирование процессора.
Преимущества:
- бесплатность.
Недостатки:
- минимум возможностей для тестирования по сравнению с другими утилитами.
9. PassMark BurnInTest
PassMark — платная утилита для тестирования видеокарты, процессора, памяти, графики, звука, сети и других компонентов. Программа имеет красивый интерфейс и множество возможностей.После установки вы можете воспользоваться ею бесплатно на протяжении 30-ти дней.
Преимущества:
- огромное количество тестов;
- современный интерфейс.
Недостатки:
- отсутствие русского интерфейса.
10. AIDA64
AIDA64 — самая популярная программа для тестирования процессоров, видеокарт и компьютера в целом. Также очень часто используется просмотр общей информации о системе.Это платная программа, но на протяжении месяца после установки вы можете пользоваться ею бесплатно.
Утилита
позволяет запустить тест именно нужного в данный момент компонента и во время тестирования графики отображает изменения температуры, напряжения, частоты и других параметров. Это очень удобно и нет необходимости использовать другие утилиты.
Выводы
В этой статье мы собрали лучшие программы, выполняющие тестирование процессора. Без сомнений, лучшая из платных — AIDA64.Она самая популярная и больше всего возможностей. Из покупаю мне больше всего понравилась утилита OCCT. А какие программы для выполнения стресс-теста использования вы? Напишите в комментариях.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl + Enter .
.