This is a great starting point when looking into Yellowfin performance. Whether to address slowness, or simply looking at ways to monitor the server and ensuring it's capable of handling your use-case.
These steps will help you review some common performance tuning options and also provides tools when providing a deeper analysis.
What exactly is slow?
The first step is narrowing down the point at which Yellowfin sees performance issues.
- Logging in for the first time, or with particular users
- Running particular dashboards, reports, filters, views...etc.
- Performance issues during certain times of the day
- General slowness, i.e. navigation
Identifying this can help point us in the right direction in determining the best options moving forward.
Is this a new issue?
Have there been any changes to your environment, such as new data sources, updates to the software, configuration changes.
This is often a key factor when proposing solutions.
Gathering Required Information for Further Analysis
When it's time to dig a bit deeper, the following pieces of information are crucial.
- System Information
This is easily access via the Administration > System Information area. You can export this or save from the browser page.
It provides us with the version of the system/application, along with Java memory allocation. - Yellowfin logs
By default these are located under \Yellowfin\Appserver\Logs.
These help capture information pertaining to system/application errors, and connection pooling. - Info_threads
This can be manually accessed via appending \info_threads.jsp and will tell us exactly what is running when hitting the page - CPU/RAM performance
This can be accessed via different methods based on your operating system. Please check OS documentation for further information.
We have created a tool 'yfmonitor.jar' to get the above info (minus system information) which is attached to this article.
Additional information
- JVM Max Memory
JVM Max Memory is the amount of memory configured that Yellowfin can use. By default this is set to ~1GB. In most production instances you will want to increase this. There's no magic formula for determining this, however this is the most common performance bottle-neck. We do recommend a minimum of 4GB of memory allocated for production instances - Caching
Yellowfin has it's own internal caching to assist with performance issues, it can be configured if necessary.
Appending /info_cache.jsp to your Yellowfin login URL will pull up the information on the various internal cache's your instance is utilizing. In example, if you're having slowness when entering the Browse page check the 'Event Cache'. If your Cache hits percentage is low and your Events cached percentage is high, you may benefit from increasing this value. - Config DB Tables
Is the Yellowfin Configuration database abnormally large? This is usually best handled with Yellowfin Support if you suspect so, though the linked article can also assist. - Issues with Specific Data Sources
If you find the Data Source to be the commonality in report slowness it's worth reviewing the source logs for timeouts or errors such as no connection available. Are you consistently having issues with a data source over an unstable connection? Good examples of this are AWS, etc. You can enable volatile data sources to help mitigate these types of issues.
When in Doubt
If you're not sure where to start or how to proceed, do not hesitate to reach out to the Yellowfin Support Team. Just ensure to include as much information as you can, particularly the items listed under 'Gathering Required Information for Further Analysis' above.
We are trained to help you through your issues, and most of us don't bite! We are here to help ensure your success with our product.