adpat rocksdb
This commit is contained in:
@@ -21,20 +21,20 @@ function samples() {
|
||||
./target/release/kv_bench --path /home/abby/mace_bench --threads $i --iterations 100000 --mode get --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]}
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "insert threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
echo "get threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
exit 1
|
||||
fi
|
||||
./target/release/kv_bench --path /home/abby/mace_bench --threads $i --iterations 100000 --mode mixed --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} --insert-ratio 30
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "insert threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
echo "mixed threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
echo mode,threads,key_size,value_size,insert_ratio,ops > scripts/x.csv
|
||||
samples 2>> scripts/x.csv
|
||||
echo mode,threads,key_size,value_size,insert_ratio,ops > scripts/mace.csv
|
||||
samples 2>> scripts/mace.csv
|
||||
popd
|
||||
./bin/python plot.py
|
||||
./bin/python plot.py mace.csv
|
||||
+9
-6
@@ -1,14 +1,17 @@
|
||||
import pandas as pd
|
||||
import matplotlib.pyplot as plt
|
||||
from adjustText import adjust_text
|
||||
import sys
|
||||
|
||||
def real_mode(m):
|
||||
if m == "mixed":
|
||||
return "mixed (70% read, 30% write)"
|
||||
return m
|
||||
return "MIXED (70% Get, 30% Put)"
|
||||
return m.upper()
|
||||
|
||||
name = sys.argv[1]
|
||||
prefix = name.split(".")[0]
|
||||
# 读取数据
|
||||
df = pd.read_csv("./x.csv")
|
||||
df = pd.read_csv(f"./{name}")
|
||||
|
||||
# 按 mode 分组
|
||||
modes = df["mode"].unique()
|
||||
@@ -40,11 +43,11 @@ for mode in modes:
|
||||
adjust_text(texts, arrowprops=dict(arrowstyle="->", color='gray'))
|
||||
|
||||
# 设置图表样式
|
||||
plt.title(f"Performance: {real_mode(mode).upper()}", fontsize=16)
|
||||
plt.title(f"{prefix.upper()}: {real_mode(mode)}", fontsize=16)
|
||||
plt.xlabel("Threads", fontsize=14)
|
||||
plt.ylabel("OPS", fontsize=14)
|
||||
plt.grid(True, linestyle="--", alpha=0.6)
|
||||
plt.legend()
|
||||
plt.tight_layout()
|
||||
plt.savefig(f"{mode}.png")
|
||||
plt.close()
|
||||
plt.savefig(f"{prefix}_{mode}.png")
|
||||
plt.close()
|
||||
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
pushd .
|
||||
cd ../rocksdb
|
||||
cmake --preset release 1>/dev/null 2>/dev/null
|
||||
cmake --build --preset release 1>/dev/null 2>/dev/null
|
||||
|
||||
function samples() {
|
||||
kv_sz=(16 16 100 1024 1024 1024)
|
||||
# set -x
|
||||
|
||||
for ((i = 1; i <= $(nproc); i *= 2))
|
||||
do
|
||||
for ((j = 0; j < ${#kv_sz[@]}; j += 2))
|
||||
do
|
||||
./build/release/rocksdb_bench --path /home/abby/rocksdb_tmp --threads $i --iterations 100000 --mode insert --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]}
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "insert threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
exit 1
|
||||
fi
|
||||
./build/release/rocksdb_bench --path /home/abby/rocksdb_tmp --threads $i --iterations 100000 --mode get --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]}
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "get threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
exit 1
|
||||
fi
|
||||
./build/release/rocksdb_bench --path /home/abby/rocksdb_tmp --threads $i --iterations 100000 --mode mixed --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} --insert-ratio 30
|
||||
if test $? -ne 0
|
||||
then
|
||||
echo "mixed threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
echo mode,threads,key_size,value_size,insert_ratio,ops > ../scripts/rocksdb.csv
|
||||
samples 1>> ../scripts/rocksdb.csv
|
||||
popd
|
||||
./bin/python plot.py rocksdb.csv
|
||||
Reference in New Issue
Block a user