This week's book giveaway is in the Kotlin forum.
We're giving away four copies of Kotlin in Action and have Dmitry Jemerov & Svetlana Isakova on-line!
See this thread for details.
Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

More Memory taken in Load Test in Multi-Threaded Application  RSS feed

 
Moulieswaran Easwaramoorthy
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Environment:
OS: RHEL 6.4(Santigo)
Java: 1.7
RAM : 6GB
Problem:
The application(Multi Threaded) is running with above system configuration. Now we are into performance testing. Actual performance test scenario is,
Application will be receiving 20 Transactions Each Second. For each transactions application will be sending Packets through UDP and TCP/IP and it will e\be expecting responses back.
We observed in all the Loads, first 1 to 3 hrs load is going is fine without any failure and application was consuming around 340MB Residual memory and 70-80% CPU. When this fine transaction in progress, in small time difference may be in 5 to 15 Seconds, application memory utilization reaching upto around 600MB and 120% of Residual and CPU respectively and after certain time memory is not coming down and CPU% came down to normal stage. During this spike in memory communication failure in between servers are started to happen. After certain time, memory came down some what(For eg 500MB) and stabling in that point. Again load moves fine without any failure. And again certain hours, it reaching to around 600MB and started to fail. Again moves fine. This case is happening at least 4 to 5 times in 12 hour load.
Here we attached the Memory and CPU utilization for executed load


Need Suggestions/ideas:
Need suggestion on what will cause this issue?. I am not able to conclude it is application problem since it is running fine for hours without any issue and in next 5 to 15 secs there is spike in Memory immediately. So i assume this should not be application problem. We use HashTable which stores Strings only
I need valuable yours suggestion/ideas to figure it out. Whether it can be server environment issue or something else?
Thanks in advance.
1.jpg
[Thumbnail for 1.jpg]
Memory Utilisation
2.jpg
[Thumbnail for 2.jpg]
CPU Utilisation
 
Mike Degteariov
Ranch Hand
Posts: 145
8
Java Mac MySQL Database Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Moulieswaran

What kind of application is this ?
Is it standalone application when you have source code for everything, or is it Java EE or web application running in container ?

If latter, the memory issue may be caused by background jobs, like quartz jobs, or JEE timers.

I would recommend to attach a profiler to it and monitor memory consumption.
Basing on what you provided so far, it is impossible to tell.


 
Moulieswaran Easwaramoorthy
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for the reply & time Mike
Our application is voice based(IVR) application and it runs as a standalone application
Our application communicates with the Media Server through SIP protocol and Media Server is running in Tomcat 7
 
Anayonkar Shivalkar
Bartender
Posts: 1558
5
Eclipse IDE Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Moulieswaran,

Welcome to CodeRanch!

Can you elaborate on tomcat jvm's heap space configuration? Also, is it possible to take heap and thread dump during heavy memory/cpu utilization?

Typically, cpu utilization shoots up due to heavy load on heap (and hence cpu desperately tries to perform garbage collection).
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!