-
Notifications
You must be signed in to change notification settings - Fork 122
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
TomP2P Performance issues over time #164
Comments
@tbocek any advice? :) |
After some digging I found that one of the nodes (OS X node) was causing the performance issues and causing many of the messages to time out. My current setup is definitely flawed for OS X, for some reason, or It's a bug. I'm not able to say at this point. One thing I've noticed is that as the ring grows, the reliability successful requests goes down, it seems like for some reason the data becomes distributed (re-distributed) and is no longer available to other nodes? For bootstrapping I don't always use the same node - I'm not sure if that is an issue? Version 14.0 (14.0) |
I'm still having some issues with reliability of the network, puts succeed 100% of the time, but my read success is more around the 50% mark, and it gets worse as the network scales. I guess this is expected, but even after using Direct replication - indirect replication does not work on the latest Beta version :( Is there any way that you could help me out to try and make my reads more reliable @tbocek |
Hi @iggydv, thanks for the detailed report. My advice is to enable as much logging as possible and go through the logs to see where it got stuck. Maybe upgrading the Netty library could help. One problem I never could really solve is when using TCP and short lived connections. Netty does a pretty good job in client/server communication, but when it comes to fast paced short lived TCP connection (even shutting down before the connection was established), then I faced issues. Thus, we are currently looking into a UDP-based protocol to make the connections more suitable for a P2P setting. The current repo is here: https://gitlab.com/p2p-library-in-golang/code |
I've been running some minor benchmarks on tomP2P, and I'm in need of some reference benchmarking. I'm curious whether my results are similar to the original benchmarks of the system - could you please provide me with some relevant material to help me?
I've used TomP2P in a distributed storage network, built for low latency and high reliability, with tomP2P as a third layer of storage, or rather a persistence layer, and I've seem to run into some performance issues which become apparent over time.
My test:
from my artillery test against a rest endpoint:
As you can see I have a lot of timeouts and failing connections. Also Seeing quite a bit of timeout warnings as expected
I'm using the latest stable version of TomP2P
I'd really appreciate any help/advice
Implementation reference - https://gitlab.com/iggydv12/nomad/-/blob/master/src/main/java/org/nomad/storage/overlay/TomP2POverlayStorage.java
Put example logs
overlay-put-test.log
The text was updated successfully, but these errors were encountered: