Making dashboards load faster
I have a dashboard with ~150 cards and it takes upwards of 2 minutes to fully load...
Are there any suggestions for making this speed up?
I tried building views of all the datasets with restricted data for each card (significantly reducing the rows and columns) which doesn't appear to have had any impact... :-(
Answers
-
That's quite a lot of cards on a single dashboard which typically makes it hard to tell a data story with that many. I'd recommend breaking them out into separate dashboards. Other things you can look into would be
- The number of beast modes stored on the dataset used or not as they're all processed when the card is loaded
- The number of dataset views being pulled in as each view is generated dynamically when the card is loaded
- The amount of data you're pulling into each card, the less data the faster it'll load.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**1 -
I removed quite a lot of data. In fact, I'd estimate I am now pulling in maybe 10% of the data with the views I was pulling in prior with the datasets.... yet no impact whatsoever.
0 -
From my experience, there are several things that can have an impact with load speeds.
- Number of datasets being used on the page.
- Number of PDP policies applied to those datasets.
- Number of beastmode calculations being used in the visuals.
I would agree with @GrantSmith though. What is the use case for having so many cards on a single dashboard? I find it obnoxious to scroll through a dashboard with more than ~15 cards to find what I'm looking for. I can't imagine trying to sift through 100+ on a single dashboard.
IMO - you want to limit the data being presented in a dashboard to answering a single business question. Ultimately, I think breaking this dashboard up will be your best bet in terms of improving load time.
2 -
@Nathan + 1 to @ST_-Superman-_ and @Grant their advice is sound.
I know it's not the answer you want to hear, but next step is definitely to not have 150 cards on a page. you'll get the biggest gains here.
- while domo can render multiple cards simultaneously, you ARE issuing queries to a database, so subsetting your page into sub pages will allow Domo to focus on what's important to your user in that moment.
- furthermore, a user cannot view 150 cards simultaneously, so it is bad design to do so. If a user looks at your page and immediately starts scrolling to find the content they are interested in ... that's bad design!
- If you don't know how users want to subset their content, invest less time trying to throw more technical horsepower (dataset and beast mode optimization) and instead focus on delivering a better end user experience by tailoring their experience.
GAINS IN ORDER OF IMPROVEMENT (caveat mileage may vary ;)
- subset your cards onto subpages -- 90% of gains
- subset your data into VIEWS (consider materializing if necessary -- commit to disk via ETL or 'materialize the view' ask your support rep)
- you've done this... marginal gains unless you're going down from 100 column datasets with high cardinality and100M row + datasets)
- optimize your Beast Modes -- https://domopalooza2022.brandlive.com/home/en/session/6592a5c0-a4cd-11ec-8936-35c8abcc3bbe
- (avoid COUNT DISTINCT, avoid row level transforms, minimize use of window functions)
- reduce the number of broken cards / beast modes attached to the datasets feeding your dashboard.
- Domo has to validate each card and beast mode as it renders your page, so the fewer to validate the better the performance.
Jae Wilson
Check out my 🎥 Domo Training YouTube Channel 👨💻
**Say "Thanks" by clicking the ❤️ in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"1 -
For clarification, I have 37 bar charts which provide high level metrics, which my boss wanted to see - similar to how another business unit is displaying theirs in Power BI. Because Domo isn't good with allowing me to incorporate YOY and MOM trends, I broke them out as separate cards along with summary performance cards. So... basically 37 chart clusters of 4 cards each.
It's also frustrating I can't get the cards packed in closely together (similarly to how power BI can), so it requires scrolling down to see more than just a fraction of the cards - which is frustrating.
0 -
I'd recommend reading an article I wrote up on how you can combine your data to do YoY or MoM more easily and have each of those included in the same graph using separate beast modes.
**Was this post helpful? Click Agree or Like below**
**Did this solve your problem? Accept it as a solution!**0 -
As far as card loading, this (or any of the suggestions about reducing the size of datasets or beastmodes) wouldn't seem to have any impact. I actually created a skeleton data table with 8 rows by 5 columns and included MOM and YOY values I calculated - so I could just put them into Single Value cards. This had zero impact to the loading time (compared to pulling in data from datasets with over 100M rows and 100 columns - and with beastmodes and YOY/MOM cards)....
As far as placing the YOY and MOM values within the cards, this is something I messed around with, but simply could not get the YOY and MOM values on the same line - I think because I had separate CSS values for each one. As a result, I had YOY over MOM and it just made card look bad and take up too much space.
Do you know how to do this?
0
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.6K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 2.9K Transform
- 102 SQL DataFlows
- 627 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 755 Beast Mode
- 61 App Studio
- 41 Variables
- 693 Automate
- 178 Apps
- 456 APIs & Domo Developer
- 49 Workflows
- 10 DomoAI
- 38 Predict
- 16 Jupyter Workspaces
- 22 R & Python Tiles
- 398 Distribute
- 115 Domo Everywhere
- 276 Scheduled Reports
- 7 Software Integrations
- 130 Manage
- 127 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 11 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 110 Community Announcements
- 4.8K Archive