Это задача 6336, разобрал тогда в какие моменты выделяется память и что она не очищается даже после Clear All.
Автор дефекта получил проблему на больших запросах (Request), а я проверял на ответах (Response)
Некоторые наблюдения из этого разбора
🤩тема System работает на 2 минуты быстрее темы Darklaf - Dracula (detault) при открытии результатов теста с большими файлами
🤩настройки на лимиты размеров текста при отображении, не делают объем хранимиго в памяти текста меньше — думаю что можно оставлять только начало ответа еще при загрузке результатов
🤩дедупликация строк не используется, если открыть два одинаковых ответа или запроса, то память выделится тоже дважы
Тут я говорю про настройки JMeter
## MAX_DISPLAY_SIZE
view.results.tree.max_size=10485760
## MAX_LINE_SIZE
view.results.tree.max_line_size=110000
## SOFT_WRAP_LINE_SIZE
view.results.tree.soft_wrap_line_size=100000
И настройку OpenJDK
## Дудупликация строк
-XX:+UseStringDeduplication
## Работает с G1GC:
-XX:+UseG1GC
## Сколько поколений сборки мусора надо пережить (3 по умолчанию)
-XX:StringDeduplicationAgeThreshold=1
## Надо будет добавить 100ms к длительности пауз (по умолчанию в JMeter 100)
-XX:MaxGCPauseMillis=200
Этот гештальт пока висит незакрытым. Вот думаю что пора его закрыть.
🤩Докрутить задачу с утечкой памяти именно для больших запросов.
🤩Сделать так чтобы в памяти ViewResultTree читались только первые
view.results.tree.max_size=10485760 байт, если результат загружается из файла (при просмотре результатов в live-режиме обрезать результат нельзя)🤩исследовать есть ли лимит на отображение тела запроса (не только ответы могут быть большими)
🤩возможно обосновать, что красивая и темная Darklaf - Dracula тема слишком медленная и вернуться к System, как варианту по умолчанию
🤩добавить явное указание
String.intern() для некоторых больших строк (думаю это точно нужно только для JMX-файлов и для тел запроса в режиме чтения тела запроса из файла🤩включить по умолчанию UseStringDeduplication и подтянуть настройки G1GC так, чтобы дедупликация эффективно работала
🤩разобраться почему Clean All не приводит к освобождению памяти во View Result Tree
Задача вроде простая и короткая на входе. Но работы там зарыто немало. Да и на работе в YouTrack задачи примерно такие же, если не в 10 раз сложнее, и надо их разбирать первым приоритетом
Но если начать сообща разбирать дефект по дефекту, то разберем. Что думаете?


