Need a special offer?Find out if your project fits.
+

Flexmonster Dataserver Memory Usage keeps on growth

Answered
Kim Li Foo asked on August 5, 2020

I think I should feedback this problem on another ticket. If it is a memory leak issue, please help to resolve it.
As per the title, I notice the memory usage of Flexmonster Dataserver is growth along the data refresh, even happened on loading the data from an unchanged JSON file.
the screenshots in the attached file show the memory usage at application startup and after few data refresh.
The JSON file is for you to do the investigation.
F.Y.I, I am using x64 version of Flexmonster Dataserver.

Attachments:
screenshot & JSON.zip

10 answers

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster August 5, 2020

Hi Pang,
 
Thank you for writing to us.
 
While we haven't managed to reproduce the described behavior so far, we will make sure to investigate this further and see if there are any potential causes for such garbage collection issues. We are going to return to you with updates on this ETA Aug 25th.
 
Please let us know if this works for you.
 
Best regards,
Mykhailo

Public
Kim Li Foo August 6, 2020

Hi Mykhailo,
I am ok with the date. Just hope the memory issue can be resolved completely and implement GC properly to release the memory ASAP once the client-side request fulfilled.
I really like the Flexmonster DataServer, and plan to implement it on our AWS EC2 to help to optimize the Data transfer from EC2 to Client's device (currently our backend application need to transfer large amount of data from EC2 to Client's device even client just want the summary report). 

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster August 7, 2020

Hi Pang,
 
Thank you for your fast response.
 
From your description, it seems like Flexmonster Data Server is exactly the tool to assist you with the data transfer optimization and we hope it will work out well for you eventually.
 
As promised, we will take a look at the mentioned issues and return to you as soon as we have any updates.
 
Regards,
Mykhailo

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster August 26, 2020

Hi Pang,
 
Thank you for giving us some time to take a deeper look at this issue.
 
After a detailed overview of the Flexmonster Data Server, we've made certain that no memory leaks are present in the tool. We've also updated the garbage collection a little bit – the collector is now called each time the data is reloaded to the Data Server.
 
This is included in the 2.8.14 version of Flexmonster: https://www.flexmonster.com/release-notes/
 
You are welcome to update the component. Here is our updating to the latest version tutorial for guidance: https://www.flexmonster.com/doc/updating-to-the-latest-version/ 
 
Please let us know if this helps.
 
Best regards,
Mykhailo

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster September 2, 2020

Hi Pang,
 
Hope you're doing well.
 
We were wondering if you've received our previous heads-up regarding the latest update. Have there been any performance improvements on your side?
 
We would be happy to hear your feedback.
 
Regards,
Mykhailo

Public
Kim Li Foo October 17, 2020

Hi Mykhailo,
I just tested the latest version 2.8.17, the "memory usage of Flexmonster Dataserver is growth along the data refresh" issue still there.
You can just set "DataRefreshTime": "1" which is 1 min refresh time, then you should be able to see the issue very clearly.
Really hope you can resolve it, thanks.

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster October 20, 2020

Hi Pang,
 
Thank you for writing to us.
 
So far, we haven't been able to reproduce such behavior on our side.
 
I would like to point out that some increase in used memory is normal – the .NET garbage collection is now always executed immediately after being called. That being said, while it is expected that the used RAM size might grow a little, it should always return back to normal after a few reloads.
 
We've done some tests on our side with the help of the sample JSON data set you've provided earlier. Last time we've checked, the starting memory usage was around 300-400 MB. While the Data Server was running, the total RAM usage could go up to 500-550 MB, but, as expected, the GC was executed sooner or later & the memory usage came back to normal 400 MB. Please see the attached screenshots for more details.
 
With that in mind, is the workflow described above somewhat similar to yours, or is memory usage always growing on your side without any improvements?
 
We would be happy to hear your thoughts.
 
Regards,
Mykhailo

Attachments:
scr1.png
scr2.png

Public
Kim Li Foo October 21, 2020

Hi Mykhailo,
Thanks for the prompt reply. I will test it again and let you know the outcome. Really appreciate you spend time investigating.
 

Public
Kim Li Foo October 26, 2020

Hi Mykhailo,
I tried to use the dll instead of exe file for dataserver, the GC is ok now.
Thanks.

Public
Mykhailo Halaida Mykhailo Halaida Flexmonster October 26, 2020

Hi Pang,
 
Thank you for the follow-up – we are glad to hear everything is working as expected now!
 
As always, feel free to reach out if there is anything else we can assist you with.
 
Regards,
Mykhailo

Please login or Register to Submit Answer