Insufficient Resources: A Common Performance Issue in DXP 7.0

This article documents a common performance issue related to Insufficient Resources within Liferay DXP 7.0. Read below for the necessary information about this issue and how to navigate through it.

Resolution

Insufficient System Resources

Often, servers have to multi-task because they are running not just a Liferay platform, but other applications as well. For example, sometimes the database is on the same machine or a web server. Other times the server may be hosting other applications, such as Elasticsearch.

In an insufficient system resources situation, this is when the application is slow. This does not happen because the application is actually slow, but because it is not getting all the resources that it needs from the underlying server. In other words, it has to wait for the processor, hard drive or network to be able to continue serving individual requests.

One indicator is when the server's CPU has a high utilization but there is no sign of activity in thread dumps or according to pidstat

Real time > sys + usr time

One of the other indicators that the Liferay platform is waiting for resources is if we see that 'real' time is higher than usr and sys combined.

For example:

[Times: user=0.20 sys=0.01, real=1.2 secs]

Normally, real time is less than user and sys combined, as it measures wall time whereas usr and sys measure cpu time. If we have a process that spends 1 second in 4 processes, then it is possible that usr time will be 4s whereas real stays at 1s. We can see this kind of information from garbage collector logs or pidstat. .

Solution

System Administrators should investigate server performance, specifically what other processes are running and how much resources they are consuming. Lastly, consider whether other applications can be moved to different servers.

Was this article helpful?
1 out of 1 found this helpful