With reference to "https://github.com/spring-projects/spring-boot/issues/23323".
We have created one microservice with single endpoint. This api consist of single path variable and it is just returning OK response. In real time, it will have different processing mechanism but for testing and POC purpose we have kept it simple. Now, When we generate load with jmeter for this particular api and pass in random path variable values using random variable in jmeter then we have observed that memory is constantly increasing over a period of time and objects are not getting GC.
spring boot version:- 2.3.1 RELEASE dependencies:- spring-boot-starter-web, spring-boot-starter-security, spring-boot-starter-actuator
Sample api:- /app/ping/{id} GET
Jmeter :- path = /app/ping/${random_var} - random_var having value in between 1 - 100000 Number of Threads:- 60 Ramp Up Seconds:- 1 Loop Count:- Forever Spring boot app configuration:- -Xmx150m
I have done test for spring boot 2.3.1 Release again and attached demo application. Memory grows in this case too.
Attached :- 1.) Sample application with spring boot 2.3.1 release 2.) yourkit memory snapshot 3.) Visual VM screen shot 4.) Heap Dump Visual VM
heapdump-1600242531158.zip demomemory_2.3_1.zip DemoApplication-Latest_yourKit_Memory.zip
Comment From: wilkinsona
@rahulsingh336 Please don't open duplicate issues. We'll take another look at #23323 in due course.