-
Notifications
You must be signed in to change notification settings - Fork 121
TomP2P Performance issues over time #164
Description
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:
- Nodes on different hosts [40]
- Node 1 x16 peers
- Node 2 x9 peers
- Node 3 x15 peers
- RPS: 10
- Duration: 1800 sec
- PUT commands only (on 8 selected storage nodes only)
from my artillery test against a rest endpoint:
All virtual users finished
Summary report @ 21:54:17(+0200) 2021-05-03
Scenarios launched: 18000
Scenarios completed: 13342
Requests completed: 13342
Mean response/sec: 9.95
Response time (msec):
min: 2
max: 9995
median: 8
p95: 5789
p99: 9162.1
Scenario counts:
peer-2: 2286 (12.7%)
peer-1: 2159 (11.994%)
peer-12: 2306 (12.811%)
peer-13: 2217 (12.317%)
peer-18: 2249 (12.494%)
peer-4: 2328 (12.933%)
peer-17: 2174 (12.078%)
peer-3: 2281 (12.672%)
Codes:
200: 1381
400: 14
408: 11947
Errors:
ETIMEDOUT: 4200
ECONNRESET: 458
As you can see I have a lot of timeouts and failing connections. Also Seeing quite a bit of timeout warnings as expected
WARN TimeoutFactory - Channel timeout for channel Sender [id: 0xbd747647, L:/0:0:0:0:0:0:0:0:57213].
WARN TimeoutFactory - Request status is msgid=-1862733718,t=REQUEST_1,c=PING,tcp,s=paddr[0x975eb768918c948a5de0dc3cc419b424bd131363[/192.168.0.150,5491]]/relay(false)/slow(false),r=paddr[0x99830ba9278cafaa6a52bda03c1755733463c0de[/<my-ip, port>]]/relay(false)/slow(false)
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