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

Stamperstore ldb writes produce high disk write #4884

Open
Cafe137 opened this issue Oct 30, 2024 · 2 comments
Open

Stamperstore ldb writes produce high disk write #4884

Cafe137 opened this issue Oct 30, 2024 · 2 comments
Labels
needs-triaging new issues that need triaging

Comments

@Cafe137
Copy link

Cafe137 commented Oct 30, 2024

Context

Windows 10 AMD64, Bee 2.2.0

Summary

I am writing 1,000,000 chunks at the rate of 200,000 per hour (mantaray with 600,000 forks). This use case produces high disk write that may have bad side effects such as degraded performance or an impact on SSD lifetime. Based on the screenshot number 2 below, the culprit seems to be the stamperstore writes. Network bandwidth is negligible compared to the disk write bandwidth.

Capture

Capture2

Expected behavior

I have no knowledge on what exactly happens under the hood. My naive assumption is that for each stamping, the corresponding ~2MB ldb gets overwritten, but I may be completely off here.

In case of write-heavy operations like this, in-memory caching with periodic persists to the disk would likely improve the situation. (stamperstore ≤ 500MB on my machine™)

Actual behavior

Please see screenshots above. Disk write frequently surpasses 100MB/s.

Steps to reproduce

On demand I can create a small JS project that creates and writes many chunks in an endless loop.

Possible solution

Please see expected behaviour.

@Cafe137 Cafe137 added the needs-triaging new issues that need triaging label Oct 30, 2024
@istae
Copy link
Member

istae commented Nov 27, 2024

Can you describe what the upload sizes are? and which api endpoint are you using?

@Cafe137
Copy link
Author

Cafe137 commented Dec 11, 2024

Can you describe what the upload sizes are? and which api endpoint are you using?

I was uploading the wikipedia, and at this point I was writing the mantaray forks. Many small /bytes endpoint uploads. Probably minimal time spent splitting/chunking, and most time spent stamping, which turned out to have an I/O bottleneck.

Sorry, I know this isn't much, I will eventually get back to larger data uploads where I can investigate this better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triaging new issues that need triaging
Projects
None yet
Development

No branches or pull requests

2 participants