Etcd读写性能测试

单节点etcd集群,etcd版本是3.4.9。

编译etcd benchmark

git clone https://github.com/etcd-io/etcd.git
cd etcd/
git checkout v3.4.9
rm -rf vendor
go install -v ./tools/benchmark
go list -f "{{.Target}}" ./tools/benchmark

写入测试Key

ENDPOINTS=https://192.168.3.14:2379
CACERT=/etc/kubernetes/pki/etcd/ca.crt
SERVERCERT=/etc/kubernetes/pki/etcd/server.crt
SERVERKEY=/etc/kubernetes/pki/etcd/server.key

TEST_KEY=test
ETCDCTL_API=3 ./etcdctl --endpoints=$ENDPOINTS --cacert=$CACERT --cert=$SERVERCERT --key=$SERVERKEY put $TEST_KEY $TEST_KEY

写测试

./benchmark --endpoints=$ENDPOINTS --cacert=$CACERT --cert=$SERVERCERT --key=$SERVERKEY --conns=100 --clients=1000 put --key-size=8 --sequential-keys --total=100000 --val-size=256

读测试

./benchmark --endpoints=$ENDPOINTS --cacert=$CACERT --cert=$SERVERCERT --key=$SERVERKEY --conns=100 --clients=1000 range $TEST_KEY --consistency=l --total=100000

--consistency=l和s区别是,l是线性一致性读(半数以上达成一致),s是序列化非一致性读,etcd默认读模式是线性读。

posted on 2024-02-05 21:44  王景迁  阅读(135)  评论(0编辑  收藏  举报

导航