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

Performance issues with the validator table #2306

Closed
jbibla opened this issue Mar 17, 2019 · 4 comments
Closed

Performance issues with the validator table #2306

jbibla opened this issue Mar 17, 2019 · 4 comments
Labels
bug 🐛 issues related to unhandled errors in the code that need to be fixed refactor

Comments

@jbibla
Copy link
Collaborator

jbibla commented Mar 17, 2019

Describe the bug

  • the validator table requires an unreasonable number of requests (473)
  • the validator table requires too much data (17.8mb)
  • the page loads slowly and the browser frequently struggles to render this part of the app (7.16s)

To Reproduce

  • open the network tab
  • visit the validator page
  • witness the resource hog

Expected behavior

  • i would expect this page to load quickly and effortlessly, that as much of the data as possible was cached correctly, and that we would only make the necessary requests

Notes

  • it seems to me that reducing the number of requests, taking care of enriching the validator objects in the vuex module instead of in the TableValidator component would be good first steps to resolving this issue.
  • signing_info is getting called ALOT
  • it doesn't seem like cacheing is working very well

Screenshots

Screen Shot 2019-03-16 at 4 50 51 PM

@jbibla jbibla added bug 🐛 issues related to unhandled errors in the code that need to be fixed refactor labels Mar 17, 2019
@jbibla jbibla changed the title Performance issues with staking/validators and validator table Performance issues with the validator table Mar 17, 2019
@fedekunze
Copy link
Contributor

yeah we really need #1381 too

@faboweb
Copy link
Collaborator

faboweb commented Mar 25, 2019

Check if this is still the case.

@jbibla
Copy link
Collaborator Author

jbibla commented Mar 26, 2019

yep. this has been dramatically improved.

400 requests (for the whole app on a hard reload - still very high)
2.8MB (still very high for slow connection speeds / expensive data regions)
9.0s (to completion)

  • batching the API requests will help @sabau
  • we're calling https://stargate.cosmos.network/staking/validators 3 times?
  • we're calling https://stargate.cosmos.network/validatorsets/latest twice?
  • perhaps we can lazily-request the signing_info and keybase calls for only the li-validators that are visible (+10 or something)
  • should we bundle all the npm.js files?
  • i think we're still requesting the validator avatars from keybase's s3 on every reload (so not cache-ing properly)?

@jbibla
Copy link
Collaborator Author

jbibla commented Aug 15, 2019

this is being addressed by a number of ongoing changes.

@jbibla jbibla closed this as completed Aug 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 issues related to unhandled errors in the code that need to be fixed refactor
Projects
None yet
Development

No branches or pull requests

3 participants