mirror of https://github.com/etcd-io/dbtester.git
*: add same key option
This commit is contained in:
parent
487c32888e
commit
3150f6ccb5
|
|
@ -25,48 +25,48 @@
|
|||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/auth/authpb",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/client",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/clientv3",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/etcdserver/etcdserverpb",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/mvcc/mvccpb",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/pkg/pathutil",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/pkg/tlsutil",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/coreos/etcd/pkg/types",
|
||||
"Comment": "v2.3.0-664-gb776153",
|
||||
"Rev": "b7761530e1d5b9f404811d63786df60023a88db9"
|
||||
"Comment": "v2.3.0-672-g61add11",
|
||||
"Rev": "61add11b05ed7e510ec62bca8d6216ddeb6ee979"
|
||||
},
|
||||
{
|
||||
"ImportPath": "github.com/cpuguy83/go-md2man/md2man",
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ We keep full logs here and cloud storage(when it's over 1MB):
|
|||
|
||||
Test results:
|
||||
|
||||
- https://github.com/coreos/dbtester/tree/master/bench-results/2016050501/README.md
|
||||
- https://github.com/coreos/dbtester/tree/master/bench-results/2016050301/README.md
|
||||
- https://github.com/coreos/dbtester/tree/master/bench-results/2016050101/README.md
|
||||
- https://github.com/coreos/dbtester/tree/master/bench-results/2016043002/README.md
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
|
||||
titles:
|
||||
- Write 600K keys, 1000-client, 1000-conn, 8-byte key, 256-byte value (etcd v2)
|
||||
|
||||
step1:
|
||||
- data_path_list:
|
||||
- 2016050501/01-etcdv2-1-monitor.csv
|
||||
- 2016050501/01-etcdv2-2-monitor.csv
|
||||
- 2016050501/01-etcdv2-3-monitor.csv
|
||||
data_benchmark_path: 2016050501/01-etcdv2-timeseries.csv
|
||||
output_path: 2016050501/01-etcdv2-aggregated.csv
|
||||
|
||||
step2:
|
||||
- data_list:
|
||||
- path: 2016050501/01-etcdv2-aggregated.csv
|
||||
name: etcd_v2
|
||||
output_path: 2016050501/01-all-aggregated.csv
|
||||
|
||||
step3:
|
||||
- data_path: 2016050501/01-all-aggregated.csv
|
||||
|
||||
plot_list:
|
||||
- lines:
|
||||
- column: avg_latency_ms_etcd_v2
|
||||
legend: etcd v2
|
||||
x_axis: Second
|
||||
y_axis: Latency(millisecond)
|
||||
output_path_list:
|
||||
- 2016050501/01-avg-latency-ms.svg
|
||||
- 2016050501/01-avg-latency-ms.png
|
||||
|
||||
- lines:
|
||||
- column: throughput_etcd_v2
|
||||
legend: etcd v2
|
||||
x_axis: Second
|
||||
y_axis: Throughput
|
||||
output_path_list:
|
||||
- 2016050501/01-throughput.svg
|
||||
- 2016050501/01-throughput.png
|
||||
|
||||
- lines:
|
||||
- column: avg_cpu_etcd_v2
|
||||
legend: etcd v2
|
||||
x_axis: Second
|
||||
y_axis: CPU
|
||||
output_path_list:
|
||||
- 2016050501/01-avg-cpu.svg
|
||||
- 2016050501/01-avg-cpu.png
|
||||
|
||||
- lines:
|
||||
- column: avg_memory_mb_etcd_v2
|
||||
legend: etcd v2
|
||||
x_axis: Second
|
||||
y_axis: Memory(MB)
|
||||
output_path_list:
|
||||
- 2016050501/01-avg-memory.svg
|
||||
- 2016050501/01-avg-memory.png
|
||||
|
||||
step4:
|
||||
preface: |
|
||||
- Google Cloud Compute Engine
|
||||
- 8 vCPUs + 16GB Memory + 50GB SSD
|
||||
- 1 machine(client) of 16 vCPUs + 30GB Memory + 50GB SSD
|
||||
- Ubuntu 15.10
|
||||
- Go master branch on 2016-05-03
|
||||
- etcd v2
|
||||
|
||||
results:
|
||||
- images:
|
||||
- image_title: 2016050501/01-avg-latency-ms
|
||||
image_path: https://storage.googleapis.com/dbtester-results/2016050501/01-avg-latency-ms.svg
|
||||
image_type: remote
|
||||
- image_title: 2016050501/01-throughput
|
||||
image_path: https://storage.googleapis.com/dbtester-results/2016050501/01-throughput.svg
|
||||
image_type: remote
|
||||
- image_title: 2016050501/01-avg-cpu
|
||||
image_path: https://storage.googleapis.com/dbtester-results/2016050501/01-avg-cpu.svg
|
||||
image_type: remote
|
||||
- image_title: 2016050501/01-avg-memory
|
||||
image_path: https://storage.googleapis.com/dbtester-results/2016050501/01-avg-memory.svg
|
||||
image_type: remote
|
||||
|
||||
output_path: 2016050501/README.md
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
database: etcdv2
|
||||
test_name: 01-etcdv2
|
||||
|
||||
google_cloud_project_name: etcd-development
|
||||
google_cloud_storage_key_path: /home/gyuho/gcloud-key.json
|
||||
google_cloud_storage_bucket_name: dbtester-results
|
||||
google_cloud_storage_sub_directory: 2016050501
|
||||
|
||||
peer_ips:
|
||||
- 10.240.0.17
|
||||
- 10.240.0.18
|
||||
- 10.240.0.19
|
||||
|
||||
agent_port: 3500
|
||||
database_port: 2379
|
||||
|
||||
etcd_compression: ""
|
||||
|
||||
# start database by sending RPC calls to agents
|
||||
step1:
|
||||
skip: false
|
||||
zookeeper_max_client_connections: 5000
|
||||
zookeeper_snap_count: 100000
|
||||
|
||||
# start benchmark
|
||||
step2:
|
||||
skip: false
|
||||
bench_type: write
|
||||
local_read: true
|
||||
result_path: timeseries.csv
|
||||
connections: 1000
|
||||
clients: 1000
|
||||
key_size: 8
|
||||
same_key: true
|
||||
value_size: 256
|
||||
# value_testdata_path: /home/gyuho/testdata
|
||||
total_requests: 600000
|
||||
request_interval_ms: 0
|
||||
etcdv3_compaction_cycle: 0
|
||||
|
||||
# after benchmark
|
||||
step3:
|
||||
skip: false
|
||||
result_path: result.log
|
||||
|
|
@ -55,6 +55,7 @@ type Config struct {
|
|||
Connections int `yaml:"connections"`
|
||||
Clients int `yaml:"clients"`
|
||||
KeySize int `yaml:"key_size"`
|
||||
SameKey bool `yaml:"same_key"`
|
||||
ValueSize int `yaml:"value_size"`
|
||||
ValueTestDataPath string `yaml:"value_testdata_path"`
|
||||
TotalRequests int `yaml:"total_requests"`
|
||||
|
|
|
|||
|
|
@ -72,6 +72,12 @@ func TestReadConfig(t *testing.T) {
|
|||
if c.Step2.ResultPath != "timeseries.csv" {
|
||||
t.Fatalf("unexpected %s", c.Step2.ResultPath)
|
||||
}
|
||||
if c.Step2.KeySize != 8 {
|
||||
t.Fatalf("unexpected %d", c.Step2.KeySize)
|
||||
}
|
||||
if !c.Step2.SameKey {
|
||||
t.Fatalf("unexpected %v", c.Step2.SameKey)
|
||||
}
|
||||
if c.Step2.ValueTestDataPath != "/home/gyuho/testdata" {
|
||||
t.Fatalf("unexpected %s", c.Step2.ValueTestDataPath)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -291,6 +291,9 @@ func step2(cfg Config) error {
|
|||
}
|
||||
|
||||
k := sequentialKey(cfg.Step2.KeySize, i)
|
||||
if cfg.Step2.SameKey {
|
||||
k = sameKey(cfg.Step2.KeySize)
|
||||
}
|
||||
if cfg.Step2.ValueTestDataPath != "" {
|
||||
v = valuesBytes[i%valueSampleSize]
|
||||
vs = valuesString[i%valueSampleSize]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@ step2:
|
|||
result_path: timeseries.csv
|
||||
connections: 100
|
||||
clients: 100
|
||||
key_size: 64
|
||||
key_size: 8
|
||||
same_key: true
|
||||
value_size: 256
|
||||
value_testdata_path: /home/gyuho/testdata # overwrites value_size
|
||||
total_requests: 3000000
|
||||
|
|
|
|||
|
|
@ -496,6 +496,10 @@ func sequentialKey(size, num int) string {
|
|||
return strings.Repeat("0", delta) + txt
|
||||
}
|
||||
|
||||
func sameKey(size int) string {
|
||||
return strings.Repeat("a", size)
|
||||
}
|
||||
|
||||
func walk(targetDir string) (map[string]os.FileInfo, error) {
|
||||
rm := make(map[string]os.FileInfo)
|
||||
visit := func(path string, f os.FileInfo, err error) error {
|
||||
|
|
|
|||
Loading…
Reference in New Issue