mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
hack/benchmark: change boom to hey
boom has moved to hey, due to a conflicting binary name with another project
This commit is contained in:
parent
0bb2384547
commit
4eefdaa4bb
@ -14,7 +14,7 @@ GCE n1-highcpu-2 machine type
|
|||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
Bootstrap another machine and use the [boom HTTP benchmark tool][boom] to send requests to each etcd member. Check the [benchmark hacking guide][hack-benchmark] for detailed instructions.
|
Bootstrap another machine and use the [hey HTTP benchmark tool][hey] to send requests to each etcd member. Check the [benchmark hacking guide][hack-benchmark] for detailed instructions.
|
||||||
|
|
||||||
## Performance
|
## Performance
|
||||||
|
|
||||||
@ -48,5 +48,5 @@ Bootstrap another machine and use the [boom HTTP benchmark tool][boom] to send r
|
|||||||
| 256 | 64 | all servers | 1033 | 121.5 |
|
| 256 | 64 | all servers | 1033 | 121.5 |
|
||||||
| 256 | 256 | all servers | 3061 | 119.3 |
|
| 256 | 256 | all servers | 3061 | 119.3 |
|
||||||
|
|
||||||
[boom]: https://github.com/rakyll/boom
|
[hey]: https://github.com/rakyll/hey
|
||||||
[hack-benchmark]: /hack/benchmark/
|
[hack-benchmark]: /hack/benchmark/
|
||||||
|
@ -24,7 +24,7 @@ Go OS/Arch: linux/amd64
|
|||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
Bootstrap another machine, outside of the etcd cluster, and run the [`boom` HTTP benchmark tool](https://github.com/rakyll/boom) with a connection reuse patch to send requests to each etcd cluster member. See the [benchmark instructions](../../hack/benchmark/) for the patch and the steps to reproduce our procedures.
|
Bootstrap another machine, outside of the etcd cluster, and run the [`hey` HTTP benchmark tool](https://github.com/rakyll/hey) with a connection reuse patch to send requests to each etcd cluster member. See the [benchmark instructions](../../hack/benchmark/) for the patch and the steps to reproduce our procedures.
|
||||||
|
|
||||||
The performance is calulated through results of 100 benchmark rounds.
|
The performance is calulated through results of 100 benchmark rounds.
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Also, we use 3 etcd 2.1.0 alpha-stage members to form cluster to get base perfor
|
|||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
Bootstrap another machine and use the [boom HTTP benchmark tool][boom] to send requests to each etcd member. Check the [benchmark hacking guide][hack-benchmark] for detailed instructions.
|
Bootstrap another machine and use the [hey HTTP benchmark tool][hey] to send requests to each etcd member. Check the [benchmark hacking guide][hack-benchmark] for detailed instructions.
|
||||||
|
|
||||||
## Performance
|
## Performance
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ Bootstrap another machine and use the [boom HTTP benchmark tool][boom] to send r
|
|||||||
|
|
||||||
- write QPS to all servers is increased by 30~80% because follower could receive latest commit index earlier and commit proposals faster.
|
- write QPS to all servers is increased by 30~80% because follower could receive latest commit index earlier and commit proposals faster.
|
||||||
|
|
||||||
[boom]: https://github.com/rakyll/boom
|
[hey]: https://github.com/rakyll/hey
|
||||||
[c7146bd5]: https://github.com/coreos/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144
|
[c7146bd5]: https://github.com/coreos/etcd/commits/c7146bd5f2c73716091262edc638401bb8229144
|
||||||
[etcd-2.1-benchmark]: etcd-2-1-0-alpha-benchmarks.md
|
[etcd-2.1-benchmark]: etcd-2-1-0-alpha-benchmarks.md
|
||||||
[hack-benchmark]: /hack/benchmark/
|
[hack-benchmark]: /hack/benchmark/
|
||||||
|
@ -9,22 +9,22 @@ keyarray=( 64 256 )
|
|||||||
for keysize in ${keyarray[@]}; do
|
for keysize in ${keyarray[@]}; do
|
||||||
|
|
||||||
echo write, 1 client, $keysize key size, to leader
|
echo write, 1 client, $keysize key size, to leader
|
||||||
./boom -m PUT -n 10 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 1 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -m PUT -n 10 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 1 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo write, 64 client, $keysize key size, to leader
|
echo write, 64 client, $keysize key size, to leader
|
||||||
./boom -m PUT -n 640 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 64 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -m PUT -n 640 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 64 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo write, 256 client, $keysize key size, to leader
|
echo write, 256 client, $keysize key size, to leader
|
||||||
./boom -m PUT -n 2560 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 256 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -m PUT -n 2560 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 256 -T application/x-www-form-urlencoded $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo write, 64 client, $keysize key size, to all servers
|
echo write, 64 client, $keysize key size, to all servers
|
||||||
for i in ${servers[@]}; do
|
for i in ${servers[@]}; do
|
||||||
./boom -m PUT -n 210 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 21 -T application/x-www-form-urlencoded $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo &
|
./hey -m PUT -n 210 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 21 -T application/x-www-form-urlencoded $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo &
|
||||||
done
|
done
|
||||||
# wait for all booms to start running
|
# wait for all heys to start running
|
||||||
sleep 3
|
sleep 3
|
||||||
# wait for all booms to finish
|
# wait for all heys to finish
|
||||||
for pid in $(pgrep 'boom'); do
|
for pid in $(pgrep 'hey'); do
|
||||||
while kill -0 "$pid" 2> /dev/null; do
|
while kill -0 "$pid" 2> /dev/null; do
|
||||||
sleep 3
|
sleep 3
|
||||||
done
|
done
|
||||||
@ -32,34 +32,34 @@ for keysize in ${keyarray[@]}; do
|
|||||||
|
|
||||||
echo write, 256 client, $keysize key size, to all servers
|
echo write, 256 client, $keysize key size, to all servers
|
||||||
for i in ${servers[@]}; do
|
for i in ${servers[@]}; do
|
||||||
./boom -m PUT -n 850 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 85 -T application/x-www-form-urlencoded $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo &
|
./hey -m PUT -n 850 -d value=`head -c $keysize < /dev/zero | tr '\0' '\141'` -c 85 -T application/x-www-form-urlencoded $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo &
|
||||||
done
|
done
|
||||||
sleep 3
|
sleep 3
|
||||||
for pid in $(pgrep 'boom'); do
|
for pid in $(pgrep 'hey'); do
|
||||||
while kill -0 "$pid" 2> /dev/null; do
|
while kill -0 "$pid" 2> /dev/null; do
|
||||||
sleep 3
|
sleep 3
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
||||||
echo read, 1 client, $keysize key size, to leader
|
echo read, 1 client, $keysize key size, to leader
|
||||||
./boom -n 100 -c 1 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -n 100 -c 1 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo read, 64 client, $keysize key size, to leader
|
echo read, 64 client, $keysize key size, to leader
|
||||||
./boom -n 6400 -c 64 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -n 6400 -c 64 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo read, 256 client, $keysize key size, to leader
|
echo read, 256 client, $keysize key size, to leader
|
||||||
./boom -n 25600 -c 256 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -n 25600 -c 256 $leader/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
|
|
||||||
echo read, 64 client, $keysize key size, to all servers
|
echo read, 64 client, $keysize key size, to all servers
|
||||||
# bench servers one by one, so it doesn't overload this benchmark machine
|
# bench servers one by one, so it doesn't overload this benchmark machine
|
||||||
# It doesn't impact correctness because read request doesn't involve peer interaction.
|
# It doesn't impact correctness because read request doesn't involve peer interaction.
|
||||||
for i in ${servers[@]}; do
|
for i in ${servers[@]}; do
|
||||||
./boom -n 21000 -c 21 $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -n 21000 -c 21 $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
done
|
done
|
||||||
|
|
||||||
echo read, 256 client, $keysize key size, to all servers
|
echo read, 256 client, $keysize key size, to all servers
|
||||||
for i in ${servers[@]}; do
|
for i in ${servers[@]}; do
|
||||||
./boom -n 85000 -c 85 $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
./hey -n 85000 -c 85 $i/v2/keys/foo | grep -e "Requests/sec" -e "Latency" -e "90%" | tr "\n" "\t" | xargs echo
|
||||||
done
|
done
|
||||||
|
|
||||||
done
|
done
|
||||||
|
Loading…
x
Reference in New Issue
Block a user