How to determine the health of Yellowfin reporting server?

Paul Cartwright shared this question 2 years ago
Answered

Hi There,


We have been a licensed user of yellowfin for a long time.


We have ran into Yellowfin server running out of memory quiet a few times and decided to bump up the JVM max memory. When we configured JVM max memory, the machine itself always had been consuming the JVM max memory and stayed that for the entire duration that Yellowfin service is running.


Q1) Is it normal for Yellowfin server to consume the maximum configured JVM all the time?

Q2) What parameters do I consider to track the Yellowfin server health? "AvailableMemory" is out of question because the JVM will take most of the configured memory space (We try to set the JVM max to 80% of total memory)


Anyone have a clue?


Bhavin

Comments (4)

photo
1

Hi Bhavin,


Yellowfin will only employ as much memory as it needs, so if you are pushing the allocated limit, it means that you, in fact, need that much memory.


At some point you may need to upgrade the underlying machine that Yellowfin is running on. Some of our larger clients employ over of 20GB JVM to keep up with the load being placed on their servers.


JVM is the primary means for tuning Yellowfin performance. However, If you want to elaborate on what specific parts of Yellowfin are running slowly, I can provide you with more case specific suggestions.


Regards,

Nathan

photo
1

Hi Nathan,


So, If I interpret it correctly, setting Max JVM to 6 GB on 8 GB machine; doesn't necessarily mean Yellowfin will always be consuming 6GB steadily.


I have gone thru the minimum recommendation spec document and I was unable to find a suggestion on what is the maximum JVM to allocate out of total memory (like a suggested ratio of 80-20?? 80% memory for JVM)


Also, We have a monitoring tool that monitors the available RAM and CPU on machine, is "Available RAM" still a good measure to say that Yellowfin reporting server is healthy vs under stress vs inaccessible??

Reason, I ask this is because, we have seen on occasion where the memory consumption is above 90% of total memory and still Yellowfin reporting server was responsive.


Bhavin

photo
1

Hi Paul,


Correct, if you track the info.jsp over time you will see that Yellowfin will only allocate a certain % above the current used JVM, which is almost always smaller the maximum you set it to be. When looking at your JVM, remember that you are only seeing a snapshot of the memory usage, possibly after a garbage collection. Large queries can temporarily spike your JVM causing delays within Yellowfin.


Our general rule on how much JVM you should allocate is: As much as you can afford :)


Typically Yellowfin will perform best on its own dedicated server, with the primary data source in close proximity if not on the same server. Query times are often as much a function of internet connection as they are memory. In the end it comes down to how the program feels when you use it. The performance can only be optimized to a certain degree and after that, any additions are overkill.


Please let me know if you have any additional questions.


Regards,

Nathan

photo
1

Hi Paul,


I am going to set this ticket to closed, but if there is anything else I can do to help here, please just let me know and the case will be re-opened!


Regards,

Nathan