Я начал отслеживать JMeter
со скриптом, работающим, например, с Jconsole
, и отмеченное количество классов постепенно увеличивается, затем быстро уменьшается, а затем снова постепенно увеличивается.
Это типичное поведение JMeter? Может быть, даже JVM в целом? Или конкретный код плагина должен быть задействован? Я обеспокоен тем, что для уменьшения количества классов GC запускается, и это может повлиять на непрерывность генерируемой нагрузки. Мне не удалось найти ответ с помощью веб-поиска.
ДОБАВЛЕНО: План тестирования включает создание сэмплеров HTTP-запросов, JSON Assertions , с использованием группы потоков параллелизма для увеличенияпошаговая загрузка + рандомизация ( Случайный контроллер , элемент конфигурации случайных величин).
ДОБАВЛЕНО 2: Следуя совету Дмитрия, я запускаю тест JVM_ARGS="-Xlog:class+unload -Xlog:class+load"; jmeter ...
в течение примерно 60 минут (тест 3600 секунд)Я загрузил около 116 000 классов и 68 000 классов выгружен, ниже показаны все выгруженные классы с временем загрузки (jdk.nashorn.internal.scripts.Script
принимают большинство случаев и среднее время подтверждают, что это произошло когда-то во время теста - технически правильно не только при запуске или только приотделка) (из блокнота Юпитера):
time
size mean
classname
java.lang.invoke.LambdaForm 978.0 29.757680
jdk.nashorn.internal.runtime.Context 11.0 17.486000
jdk.nashorn.internal.scripts.ModuleGraphManipulator 305.0 17.489377
jdk.nashorn.internal.scripts.Script 66845.0 2308.991561
Есть еще какие-нибудь советы? Что искать дальше?