[global]secure_mode=tls
management_user=kaiwudb
rest_port=8080kaiwudb_port=26257grpc_port=27257data_root=/app/kwdb/data/kaiwudb
[local]node_addr=你的公网 IP
create database if notexists demo;
create table if notexists demo.t_kv ( id intprimary key, v varchar(64));
insert into demo.t_kv (id, v) values(1,'hello-kwdb');
select*from demo.t_kv;
现象:日志显示 no space left on device 或 permission denied。
解决:
df -hT
ls -ld /app/kwdb/data /app/kwdb/data/kaiwudb
清理空间或修正目录权限后重启服务。
性能基线测试
写入性能测试
创建测试表并写入 1 万行数据:
cat <<'SQL' | sudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
create database if not exists bench;
create table if not exists bench.t_write (
ts timestamp,
dev varchar(32),
v1 double precision,
v2 double precision
);
SQL
批量写入:
N=10000
(echo"begin;"for i in $(seq 1 "$N"); doecho"insert into bench.t_write values (now(), 'dev-01', $i, $i);"doneecho"commit;") | timesudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
读取性能测试
统计查询:
cat <<'SQL' | timesudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
select count(*) from bench.t_write;
select count(*) from bench.t_write where dev='dev-01';
SQL
索引优化
创建索引并对比查询耗时:
cat <<'SQL' | sudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
create index if not exists idx_t_write_dev on bench.t_write (dev);
SQL
多次执行查询验证稳定性,并使用 explain analyze 查看执行计划:
cat <<'SQL' | sudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
explain analyze select count(*) from bench.t_write where dev='dev-01';
SQL
稳定性验证
重启服务并检查数据持久化:
sudo systemctl restart kaiwudb
sudo systemctl status kaiwudb --no-pager
sudo ss -tulnp | egrep '(:26257|:8080)\b' || truecat <<'SQL' | sudo /usr/local/kaiwudb/bin/kwbase sql --certs-dir=/etc/kaiwudb/certs --host=127.0.0.1:26257
select count(*) from bench.t_write;
SQL