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

enhancement: Initializing conversations using newConversation takes 20-60 seconds #480

Open
fabriguespe opened this issue Oct 28, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@fabriguespe
Copy link
Contributor

fabriguespe commented Oct 28, 2023

Describe

Steps to Reproduce:

  1. Use a wallet with thousands of conversations (around 7,000 to 10,000).
  2. Attempt to initialize a new conversation using newConversation.

Expected Behavior:

Initialization should complete in a more reasonable time frame (milliseconds to a couple of seconds).

Actual Behavior:

It takes 20-60 seconds to initialize a new conversation.

Observations:

  • Redis caching has improved the time from 5-8 minutes to 20-60 seconds, but it's still not optimal.
  • This issue seems to affect wallets with a large number of conversations.
@fabriguespe fabriguespe added the enhancement New feature or request label Oct 28, 2023
@daria-github daria-github assigned jhaaaa and daria-github and unassigned jhaaaa Nov 3, 2023
@rygine
Copy link
Collaborator

rygine commented Nov 28, 2023

@fabriguespe can you provide a way to reproduce this?

@fabriguespe
Copy link
Contributor Author

I could simulate thousands of wallet messages and measure conversation creation delays progressively.

is there a way to test this scenario with our benchmarking tools?

cc @daria-github

@seeARMS
Copy link

seeARMS commented Mar 22, 2024

I'm reasonably confident we're running into this issue at paragraph.xyz.

We delivered ~100k XMTP messages to >6k unique wallets this quarter. Lately we've been timing out on newConversation. For some reason this also seems to be blocking the NodeJS event loop? It's preventing other Express requests from being handled when newConversation stalls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants