Skip to content

Commit

Permalink
Remove benchmark tool for we split it as a new project
Browse files Browse the repository at this point in the history
  • Loading branch information
JackyWoo committed Jun 18, 2024
1 parent 092e72b commit 50ed917
Show file tree
Hide file tree
Showing 14 changed files with 20 additions and 1,230 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The main features of RaftKeeper are its performance and query stability.
1. The write-request throughput is twice as high as Zookeeper
2. TP99 is smoother than Zookeeper

See [benchmark](benchmark%2FBenchmark.md) for details.
See [benchmark](benchmark%2FREADME.md) for details.

RaftKeeper is derived from [ClickHouse](https://github.com/ClickHouse/ClickHouse)
and take [NuRaft](https://github.com/eBay/NuRaft) as Raft implementation.
Expand Down Expand Up @@ -50,7 +50,7 @@ cd RaftKeeper && /bin/bash build.sh 'clickhouse'
# now you can find built files in director 'build/'
```

Now RaftKeeper support build on Linux and Mac OX, details see [how-to-build](docs%2Fhow-to-build.md)
Now RaftKeeper support build on Linux and Mac OX both x86 and arm64, details see [how-to-build](docs%2Fhow-to-build.md)

## 2. Deploy RaftKeeper

Expand Down
32 changes: 0 additions & 32 deletions benchmark/Benchmark.md

This file was deleted.

48 changes: 18 additions & 30 deletions benchmark/README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,32 @@
# RaftKeeper Benchmark
# RaftKeeper Benchmarks

1. Install requirements (the following shows how to install in Ubuntu)
```
sudo apt-get update && sudo apt-get install openjdk-8-jdk maven
```
You can use the Benchmark tool that comes with RaftKeeper to benchmark RaftKeeper performance. Below we compare the performance of ZooKeeper and RaftKeeper.

2. Build the benchmark tool

```
cd RaftKeeper/benchmark && sh build.sh
```

3. Run benchmark test
## Environment

```
cd target/raft-benchmark-1.0 && bin/benchmark.sh nodes thread_size payload_size run_duration(second) only_create
Arguments:
nodes: target nodes
thread_size: thread size, every thread will use a separated zookeeper client.
payload_size: data item size in byte
run_duration: test will run x seconds
only_create: whether only send create command, if not, send mixed request (create-10% set-40% get-40% delete-10%)
# For example : bin/benchmark.sh "localhost:2181" 10 100 20 true
Server: Docker - 16 cores, 32GB memory, 50GB NVMe disk
System: CentOS 7.9
Version: RaftKeeper 2.0.0, ZooKeeper 3.7.1
Cluster: RaftKeeper 3 nodes, ZooKeeper 3 nodes
Config: RaftKeeper log level warning, ZooKeeper log level warn, others is default
Test Data: every item is 100 bytes
```

# Session Consistency Test
## 1. Write request benchmark (Create-100%)

Test read write consistency in one session.
![benchmark-create-tps.png](images/benchmark-create-tps.png)

```
bin/session_consistency.sh nodes thread_size
![benchmark-create-avgrt.png](images/benchmark-create-avgrt.png)

Arguments:
![benchmark-create-tp99.png](images/benchmark-create-tp99.png)

nodes: target nodes
thread_size: thread size, all thread use a same zookeeper client.
## 2. Mixed request benchmark (create-10% set-40% get-40% delete-10%)

# For example : bin/session_consistency.sh "localhost:2181" 10
```
![benchmark-mixed-tps.png](images/benchmark-mixed-tps.png)

![benchmark-mixed-avgrt.png](images/benchmark-mixed-avgrt.png)

![benchmark-mixed-tp99.png](images/benchmark-mixed-tp99.png)
File renamed without changes.
25 changes: 0 additions & 25 deletions benchmark/bin/benchmark.sh

This file was deleted.

22 changes: 0 additions & 22 deletions benchmark/bin/session_consistency.sh

This file was deleted.

15 changes: 0 additions & 15 deletions benchmark/build.sh

This file was deleted.

5 changes: 0 additions & 5 deletions benchmark/conf/log4j.properties

This file was deleted.

90 changes: 0 additions & 90 deletions benchmark/pom.xml

This file was deleted.

Loading

0 comments on commit 50ed917

Please sign in to comment.