apache / superset

Apache Superset is a Data Visualization and Data Exploration Platform
https://superset.apache.org/
Apache License 2.0
62.81k stars 13.88k forks source link

Page Load Performance on Specific Dashboard Is Low When Number Of Charts Increases #18586

Closed kevinwen2k closed 9 months ago

kevinwen2k commented 2 years ago

I put 45 charts in a dashboard, and enabled caching with Redis cache on server side. When viewing the timing in developer tool in Chrome, I found something interesting like the attached screenshot.

  1. No form_data Ajax request started to send before the 15th second.
  2. All of the form_data Ajax requests simultaneously send to the server.

If I reduced number of charts to 15, the "Finished" time went down to 12 seconds and all of the form_data Ajax requests simultaneously sent to server at the 6th seconds.

This explains part of the reasons why User observed that the page loading is very slow. Another reason, of course, is the rendering takes time.

We're using another dashboard that take the different approaches. The page fire the Ajax requests for form data in order, meaning that the first Ajax request is sent at the 4th second and the second Ajax request is sent at the 4.5th second and the 3rd Ajax request is sent at the 5th seconds, and so on so forth. Sending the 60 charts to server via Ajax requests in that dashboard (not superset dashboard) gets the "Finished" time within 22 seconds, while the Superset dashboard took about 40 seconds as shown in screenshot.

Would it be possible to make the other approach to speed up the whole rendering process? Thanks superset_dashboar_request_wait_time .

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. For admin, please label this issue .pinned to prevent stale bot from closing the issue.

rusackas commented 1 year ago

You may want to try out the DASHBOARD_VIRTUALIZATION feature flag, and see if that affects things in a positive way, since it only spends time doing React renders on charts in/near the viewport. There have also been many performance enhancements made since this issue was opened. I'm curious if this issue is still as bad as it was when filed, particularly in newer versions of Superset (e.g. 2.0.1). If the situation is improved, I'd love to close this ticket :)

rusackas commented 9 months ago

Closing this as stale since it's been silent for so long, and we're trying to steer toward a more actionable Issues backlog. If people are still encountering this in current versions (currently 3.x) please re-open this issue, open a new Issue with updated context, or raise a PR to address the problem. Thanks!