zhixinwen commented on PR #3061:
URL: https://github.com/apache/kvrocks/pull/3061#issuecomment-3101161424
This PR is a MVP to let KVRocks support synch replication without data loss
(will need to follow up with the throughput issue mentioned above). Want to
share some benchmark result, in case anyone is interested.
Setup: One master and one replica running on 64 core machines. Ping latency
between the machines is 0.175ms. Each instance has RocksDB and log dir on its
own disk (450MB/s write speed). Rest of the config is default.
Base case: set with 4KB payload with rocksdb.write_options.sync=false on
both master and replica
```
Throughput: 83129.45 requests/second (325 MB/s)
Latency Statistics:
Average: 11.911131ms
P50: 11.514329ms
P95: 14.990656ms
P99: 29.964993ms
P99.9: 61.902948ms
Min: 76.214µs
Max: 626.700766ms
```
set+wait for every call with 4KB payload and
rocksdb.write_options.sync=false
```
Throughput: 40030.77 requests/second (156 MB/s)
Latency Statistics (successful requests only):
Average: 24.727204ms
P50: 24.916566ms
P95: 27.971368ms
P99: 29.288314ms
P99.9: 31.054725ms
Min: 545.906µs
Max: 79.467267ms
```
set with 4KB payload with rocksdb.write_options.sync=true on both master and
replica
```
Throughput: 20732.77 requests/second (80 MB/s)
Latency Statistics:
Average: 47.752568ms
P50: 40.683806ms
P95: 62.193638ms
P99: 291.432609ms
P99.9: 502.826896ms
Min: 161.053µs
Max: 577.052582ms
```
set+wait with 4KB payload with rocksdb.write_options.sync=true on both
master and replica (This setting would guarantee lossless data)
```
Throughput: 17783.96 requests/second (70 MB/s)
Latency Statistics
Average: 55.734346ms
P50: 47.073675ms
P95: 93.116192ms
P99: 275.485393ms
P99.9: 448.5747ms
Min: 1.077095ms
Max: 548.264188ms
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]