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... :-(
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
**Was this post helpful? Click Agree or Like below**
- 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.
**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.
“There is a superhero in all of us, we just need the courage to put on the cape.” -Superman2
@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.
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
- 10.5K All Categories
- 8 Connect
- 918 Connectors
- 250 Workbench
- 470 Transform
- 1.7K Magic ETL
- 69 SQL DataFlows
- 477 Datasets
- 194 Visualize
- 253 Beast Mode
- 2.1K Charting
- 11 Variables
- 80 Cards, Dashboards, Stories
- 17 Automate
- 354 APIs & Domo Developer
- 89 Apps
- 3 Workflows
- 20 Predict
- 5 Jupyter Workspaces
- 15 R & Python Tiles
- 247 Distribute
- 63 Domo Everywhere
- 243 Scheduled Reports
- 21 Manage
- 42 Governance & Security
- 174 Product Ideas
- 1.2K Ideas Exchange
- 12 Community Forums
- 27 Getting Started
- 14 Community Member Introductions
- 55 Community News
- 4.5K Archive