TGViewer
📢 Load & Performance 📢 Load & Performance @qaload · 950 subscribers
Post #55 1.25K
Очередной #дайджест обсуждений в чате @qa_load

🔺Рассказ от Степана Фомичева о том, как можно повернуть собеседование в свою сторону. И отвечая на вопрос о нагруженных системах продемонстрировать компетенции.

🔺Интересная задача с Gatling, где @aka_Slip хотел сделать паузу в начале сценария, но получал ошибку компиляции. Причина оказалась в том, что nothingFor доступен только для открытой модели нагрузки.
По опыту скажу, что в версии 3.3.1 сделать паузу вначале сценария не получится никак - ее можно передать, но она игнорируется. И если очень нужно сделать паузу вначале сценария, то можно так: pause(DELAY seconds) в начале каждого сценария. Да, это костыль. Но единственное, что работает.

🔹Для запуска распределенного теста JMeter в режиме Master-Slave Максиму Никифорову понадобилась обычная сеть, запустить тест через VPN с закрытыми портами не удалось. Пусть его опыт поможет другим быстрее запускать распределенные тесты.

🔹Попытка разбора ошибок вида Non HTTP Response Code:
* javax.net.ssl.SSLException/Couldn't kikstart handshaking
* javax.net.ssl.SSLException/readHandshakeRecord
* javax.net.ssl.SSLException/Connection Reset
Были сделаны разные гипотезы: помогло или нет и в чем была причина - пока вопрос

🔹Рассказ о том, что функция __UUID (The UUID function returns a pseudo random type 4 Universally Unique IDentifier (UUID)) не подходит, если нужно сформировать UUID v1 со временем и MAC-адресом. И вопрос: как поместить значение в переменную? Ответ был про возможность выполнения vars.put

🔹Вопрос про конкурентную запись значений в Property в Apache.JMeter.
Вопрос решился при корректном использовании кавычек, и применении функции ${__P(prop_name)} взамен кода props.get("prop_name").
Вообще Property - это HashMap, это не ThreadSafe-структура, и не предназначена для многопоточной записи/обновления/удаления значений. Но читать значения в несколько потоков можно. Для многопоточной записи лучше использовать ConcurrentHashMap, которую можно положить в Property в начале теста, в Setup Thread Group, а потом можно много раз считывать и уже с таким объектом работать многопоточно.
Пример:
//Setup Thread Group: Положить Map в Property
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.LinkedBlockingQueue;
def map = new ConcurrentHashMap<String, String>();
props.put("map", map)
//Thread Group: Обновить значение
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap map = props.get('map');
def auth_token = vars.get('auth_token');
map.put('token', auth_token);
//Thread Group: Получить значение и положить его в переменную
import java.util.concurrent.ConcurrentHashMap;
ConcurrentHashMap map = props.get('map');
def auth_token = map.get('token');
vars.put('auth_token', auth_token);

🔹Подключение к #ActiveMQ

🔹Особенности регулярных выражений в JMeter и PHP/Perl. В частности в JMeter нет поддержки выражений (?<=regexp)

🔸Как закидывать данные из #LoadRunner в #InfluxDB во время теста

🔹Обработка ошибочных JSR223 Sampler (с ошибками выполнения/компиляции):
* С JSR223 PostProcessor такие Sampler не отловить - они не выполняются вообще в случае ошибки в Sampler!
* Можно попробовать JSR223 Sampler после текущего Sampler, при включенной опции Continue on error в Thread Group
* Можно выполнять проверку в JSR223 Listener

🔹О невозможнсти отправить метрики в Backend Listener по подзапросам если в Transaction Controller стоит галочка Generate Parent Sampler. Галочку придется снять.

▪️Про новый JVM Profiler от Uber

▪️Как нагрузить сайт на внешнем хостинге?
* через корпоративный прокси
* через внешнего провайдера
* ... вернее всего с нагрузочного агента внутри хостинга
но все очень зависит от целей тестирования

🔹Нерешенная проблема про использование ключей из kstore.jks для JMeter из Docker:
SSLManager: Problem loading keystore: No key(s) found и
Non HTTP response message: Received fatal alert: handshake_failure (запросы не доходят до системы)

🔹SampleResult.setIgnore() не работает для PostProcessor + TransactionController в 5.4. Это дефект, который починят в версии JMeter 5.4.1
Telegram Степа Фомичев in QA — Load & Performance Кстати, это оффтоп, но был смешной случай недавно, звонила hr и спрашивала, с насколько нагружёнными системами я работал в единицах пользователей, и я минуты через 2 только понял что по привычке ей объясняю почему неправильно измерять нагрузку в пользователях
More from @qaload
  1. Sep 30, 2026Привет любители производительности! Если вы ищите что почитать, то вот тут собралась отлич…
  2. Sep 27, 2026Привет! Сделал видео про несколько мониторов и несколько простых инструментов Да и настрои…
  3. Sep 24, 2026Кажется, удача меня любит Чуть базу данных не сломал, но разграничение прав помогло 🍿 Ист…
  4. Sep 23, 2026Привет performance lovers! Недавно слышал совет: делать обработку данных, как можно ближе…
  5. Sep 20, 2026Привет performance lovers! Видео выше сделано, отчасти, потому, что другие люди проложили…
  6. Sep 12, 2026Привет performance lovers! Утилита GitHub cli упростила мою работу на этой неделе: https:/…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →