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

[epic] services/horizon: reduce history archive egress cost caused by horizon #5163

Closed
15 tasks done
mollykarcher opened this issue Jan 16, 2024 · 4 comments
Closed
15 tasks done
Assignees
Labels
cdp-horizon-scrum horizon performance issues aimed at improving performance

Comments

@mollykarcher
Copy link
Contributor

mollykarcher commented Jan 16, 2024

What is the problem?

Egress cost for history archives are currently the highest/most burdensome cost for validators. After some investigation into what clients were downloading these files, it was discovered that Horizon accounts for an unreasonably large portion of this. As a comparison, the captive core running on the same machine utilizes ~15MB of bandwidth to download the same files that Horizon uses ~3.7TB of bandwidth to download

See the following 2 threads for additional context:

What would you like to see?

Overall, a root cause analysis of the cause. We should definitely determine if just Horizon (or also RPC / Hubble / etc) is effected

What alternatives are there?

Given that the majority of this is incurred on files that are part of the current/active bucketlist, we believe this may be related to state verification. There are configuration values which allow us to run state verification less frequently. However, this should be considered a stop-gap/interim solution, as we will never have control over the configuration values used by external Horizon operators.

@mollykarcher mollykarcher added horizon performance issues aimed at improving performance labels Jan 16, 2024
@mollykarcher mollykarcher changed the title services/horizon: reduce history archive egress cost caused by horizon [epic] services/horizon: reduce history archive egress cost caused by horizon Jan 16, 2024
sreuland added a commit to sreuland/go that referenced this issue Jan 29, 2024
sreuland added a commit to sreuland/go that referenced this issue Jan 30, 2024
sreuland added a commit to sreuland/go that referenced this issue Jan 31, 2024
sreuland added a commit to sreuland/go that referenced this issue Jan 31, 2024
sreuland added a commit to sreuland/go that referenced this issue Feb 1, 2024
@sreuland
Copy link
Contributor

Add test coverage

i think this requirement is met internally from go repo with archive pool unit tests which has increased coverage on archive pool user agent usage and archive pool caching.

@mollykarcher mollykarcher added this to the Sprint 44 milestone Feb 22, 2024
@sreuland
Copy link
Contributor

noticed this lingering in-process, two sub-tasks remaining.
@Shaptic , it looks like you had initiated some work on Lower state verification frequency to 1x/hour with https://github.com/stellar/puppet-v4/pull/3729

I can take the Assess/update any external documentation or example configs... sub-task

@Shaptic
Copy link
Contributor

Shaptic commented Mar 26, 2024

@sreuland nice - I bumped the thread to get that merged, thanks!

@mollykarcher
Copy link
Contributor Author

Assess/update any external documentation or example configs where we are explicitly setting history_archive_urls to be a single url and/or just SDF's nodes

I'm actually going to close this epic with this still "open". I took a cursory pass through public developer docs and we're good there. We do have some things in internal/testing configs that people could be looking at. But more importantly, we're going to come back to this with more weight behind it. This didn't get selected for Q2, but there is going to be a broader initiative/OKR under governance (likely in Q3/Q4) that specifically focuses on upping the quality of other validator's archives and pushing people off of just using ours. So we'll revisit all of this then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cdp-horizon-scrum horizon performance issues aimed at improving performance
Projects
Status: Done
Development

No branches or pull requests

3 participants