This commit is contained in:
abbycin 2025-12-21 10:06:12 +08:00
parent 5b513c4bdb
commit 09345dc029
Signed by: abby
GPG Key ID: B636E0F0307EF8EB
3 changed files with 27 additions and 50 deletions

View File

@ -111,6 +111,10 @@ int main(int argc, char *argv[]) {
rocksdb::ColumnFamilyOptions cfo{}; rocksdb::ColumnFamilyOptions cfo{};
cfo.enable_blob_files = true; cfo.enable_blob_files = true;
cfo.min_blob_size = args.blob_size; cfo.min_blob_size = args.blob_size;
// rocksdb::BlockBasedTableOptions top{};
// top.use_delta_encoding = false;
// cfo.table_factory.reset(rocksdb::NewBlockBasedTableFactory(top));
// use 1GB block cache // use 1GB block cache
auto cache = rocksdb::NewLRUCache(1 << 30); auto cache = rocksdb::NewLRUCache(1 << 30);
rocksdb::BlockBasedTableOptions table_options{}; rocksdb::BlockBasedTableOptions table_options{};
@ -250,6 +254,7 @@ int main(int argc, char *argv[]) {
delete kv; delete kv;
} }
} else if (args.mode == "scan") { } else if (args.mode == "scan") {
// ropt.pin_data = true;
auto *iter = db->NewIterator(ropt); auto *iter = db->NewIterator(ropt);
iter->Seek(prefix); iter->Seek(prefix);
size_t n = 0; size_t n = 0;

View File

@ -2,8 +2,8 @@
if [ "$#" -ne 1 ] if [ "$#" -ne 1 ]
then then
printf "\033[m$0 path\033[0m\n" printf "\033[m$0 path\033[0m\n"
exit 1 exit 1
fi fi
pushd . pushd .
@ -13,6 +13,7 @@ cargo build --release 1>/dev/null 2> /dev/null
function samples() { function samples() {
export RUST_BACKTRACE=full export RUST_BACKTRACE=full
kv_sz=(16 16 100 1024 1024 1024 16 10240) kv_sz=(16 16 100 1024 1024 1024 16 10240)
mode=(insert get mixed scan)
# set -x # set -x
db_root=$1 db_root=$1
@ -21,30 +22,15 @@ function samples() {
do do
for ((j = 0; j < ${#kv_sz[@]}; j += 2)) for ((j = 0; j < ${#kv_sz[@]}; j += 2))
do do
./target/release/kv_bench --path $db_root --threads $i --iterations $cnt --mode insert --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} for ((k = 0; k < ${#mode[@]}; k += 1))
if test $? -ne 0 do
then ./target/release/kv_bench --path $db_root --threads $i --iterations $cnt --mode ${mode[k]} --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]}
echo "insert threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail" if test $? -ne 0
exit 1 then
fi echo "${mode[k]} threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
./target/release/kv_bench --path $db_root --threads $i --iterations $cnt --mode get --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} exit 1
if test $? -ne 0 fi
then done
echo "get threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
exit 1
fi
./target/release/kv_bench --path $db_root --threads $i --iterations $cnt --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
./target/release/kv_bench --path $db_root --threads $i --iterations $cnt --mode scan --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
done done
} }

View File

@ -13,6 +13,7 @@ cmake --build --preset release 1>/dev/null 2>/dev/null
function samples() { function samples() {
kv_sz=(16 16 100 1024 1024 1024 16 10240) kv_sz=(16 16 100 1024 1024 1024 16 10240)
mode=(insert get mixed scan)
# set -x # set -x
db_root=$1 db_root=$1
cnt=100000 cnt=100000
@ -20,30 +21,15 @@ function samples() {
do do
for ((j = 0; j < ${#kv_sz[@]}; j += 2)) for ((j = 0; j < ${#kv_sz[@]}; j += 2))
do do
./build/release/rocksdb_bench --path $db_root --threads $i --iterations $cnt --mode insert --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} for ((k = 0; k < ${#mode[@]}; k += 1))
if test $? -ne 0 do
then ./build/release/rocksdb_bench --path $db_root --threads $i --iterations $cnt --mode ${mode[k]} --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]}
echo "insert threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail" if test $? -ne 0
exit 1 then
fi echo "${mode[k]} threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
./build/release/rocksdb_bench --path $db_root --threads $i --iterations $cnt --mode get --key-size ${kv_sz[j]} --value-size ${kv_sz[j+1]} exit 1
if test $? -ne 0 fi
then done
echo "get threads $i ksz ${kv_sz[j]} vsz ${kv_sz[j+1]} fail"
exit 1
fi
./build/release/rocksdb_bench --path $db_root --threads $i --iterations $cnt --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
./build/release/rocksdb_bench --path $db_root --threads $i --iterations $cnt --mode scan --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
done done
} }