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

perf: Optimize ReqResp resourcing #8458

Closed
Tracked by #8077
Maddiaa0 opened this issue Sep 9, 2024 · 0 comments · Fixed by #11331
Closed
Tracked by #8077

perf: Optimize ReqResp resourcing #8458

Maddiaa0 opened this issue Sep 9, 2024 · 0 comments · Fixed by #11331
Assignees
Labels
C-p2p Component: peer to peer

Comments

@Maddiaa0
Copy link
Member

Maddiaa0 commented Sep 9, 2024

Overview

As mentioned by @just-mitch in #8434

The current ReqResp implementation cycles through nodes serially, meaning that the timeouts are all dependent on each other. This is by design, as tx requests which often do not care which peer they are engaging with will require some hard timeout so that we do not stall the node.

  • ReqResp work should be non blocking and entirely asynchronous
  • Track how often nodes are asking for data
    • How frequently they are asking
    • How long do the responses take

If we are unable to serve the normal usecase with serial requests, then we will have to parallelize requests among multiple peers.

@github-project-automation github-project-automation bot moved this to Todo in A3 Sep 9, 2024
@Maddiaa0 Maddiaa0 added the C-p2p Component: peer to peer label Oct 2, 2024
@Maddiaa0 Maddiaa0 self-assigned this Oct 2, 2024
@Maddiaa0 Maddiaa0 linked a pull request Jan 19, 2025 that will close this issue
ludamad pushed a commit that referenced this issue Jan 20, 2025
## Overview

Rather than serially sendinging request response through a list of
peers, we instead sample from the peer set.
Attempting to connect to a node that we do not already have a connection
open with.

If we are unable to get a free node after a number of attempts, we
simply bite the bullet and dial a peer we are
already connected to.

The aim is for this to decrease experienced rate limiting from other
peers

part of #8458
@github-project-automation github-project-automation bot moved this from Todo to Done in A3 Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-p2p Component: peer to peer
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant