Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize app speed #121

Open
alyssadai opened this issue Dec 5, 2023 · 1 comment
Open

Optimize app speed #121

alyssadai opened this issue Dec 5, 2023 · 1 comment
Labels
_flag:stale [BOT ONLY] Flag issue that hasn't been updated in a while and needs to be triaged again maint:usability General improvements to product usability that are unrelated to feature prioritization. phase:research involves researching information on a topic rather than implementing specific feature. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs

Comments

@alyssadai
Copy link
Collaborator

alyssadai commented Dec 5, 2023

Even though the dashboard is now hosted on our cloud server instead of a third-party platform, there is still some noticeable delay when loading and exploring large input tables.

Here are some potential ways to improve the performance:

Ref: https://community.plotly.com/t/slow-rendering-of-large-tables/41596/4

  • virtualization=True or pagination (currently employed)
  • set debug=False

Ref: https://community.plotly.com/t/slow-load-time-on-dataset/75798/2

Ref: https://community.plotly.com/t/show-and-tell-server-side-caching/42854

  • Depends on dash-extensions
  • Server-side caching for stores 👀
    • also allows you to use a dataframe directly!!

Refs:

Ref: https://community.plotly.com/t/slow-noticeable-callback-execution-when-updating-multiple-graphs/16739

  • using multiple gunicorn workers

Ref: https://community.plotly.com/t/uploading-relatively-small-files-is-taking-too-long-in-dash-plotly/32785/6

  • storing + accessing uploaded file contents to a file on the server (rather than using contents as input in callback)

Ref: https://community.plotly.com/t/handling-a-large-csv-file-with-dash-datatable/72428/3

  • convert CSV into parquet file first? 🤔

polars instead of pandas?

See also

https://dash.plotly.com/performance
https://dash.plotly.com/dash-enterprise/scale?de-version=5.2
https://strange-quark.medium.com/improving-performance-of-python-dash-dashboards-54547d68f86b

@alyssadai alyssadai added maint:usability General improvements to product usability that are unrelated to feature prioritization. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs phase:research involves researching information on a topic rather than implementing specific feature. labels Dec 5, 2023
Copy link

We want to keep our issues up to date and active. This issue hasn't seen any activity in the last 75 days.
We have applied the _flag:stale label to indicate that this issue should be reviewed again.
When you review, please reread the spec and then apply one of these three options:

  • prioritize: apply the flag:schedule label to suggest moving this issue into the backlog now
  • close: if the issue is no longer relevant, explain why (give others a chance to reply) and then close.
  • archive: sometimes an issue has important information or ideas but we won't work on it soon. In this case
    apply the someday label to show that this won't be prioritized. The stalebot will ignore issues with this
    label in the future. Use sparingly!

@github-actions github-actions bot added the _flag:stale [BOT ONLY] Flag issue that hasn't been updated in a while and needs to be triaged again label Feb 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
_flag:stale [BOT ONLY] Flag issue that hasn't been updated in a while and needs to be triaged again maint:usability General improvements to product usability that are unrelated to feature prioritization. phase:research involves researching information on a topic rather than implementing specific feature. type:maintenance Upkeeping efforts & catch-up corrective improvements that are not Features nor Bugs
Projects
Status: No status
Development

No branches or pull requests

1 participant