1、Redis:
下载成功后,加载数据,运行
启动redis:
/usr/local/redis/bin/redis-server
./bin/ycsb load redis -P workloads/workloade -p redis.host=localhost -p redis.port=6379 -p recordcount=10000 -p operationcount=10000 -threads 32
./bin/ycsb run redis -P workloads/workloadf -p redis.host=localhost -p redis.port=6379 -p recordcount=10000 -p operationcount=10000 -threads 32
2、MongoDB:
启动MongoDB:
sudo systemctl start mongod
检查开启状态:
sudo systemctl status mongod
问题一:
运行出现问题如下图所示:
说明遇到了一个Unicode解码错误,
具体来说,错误发生在尝试使用ASCII编码来解码包含非ASCII字符(在这里是0xe4,对应于一个非英语字符)的输出时。修改./bin/ycsb
脚本中的check_output
函数,以使用UTF-8编码进行解码,而不是默认的ASCII编码。打开./bin/ycsb
文件,找到check_output
函数。修改decode()
函数调用,添加参数encoding='utf-8'
来指定使用UTF-8编码进行解码。
def check_output(args):
output = subprocess.check_output(args).strip()
return output.decode()
def check_output(args):
output = subprocess.check_output(args).strip()
return output.decode(encoding='utf-8')
问题二:
使用语句./bin/ycsb load mongodb -s -P workloads/workloadc -threads 32结果出现
加载吞吐量[OVERALL], Throughput(ops/sec)突然变成0的情况
修改语句为:
./bin/ycsb run mongodb -s -P workloads/workloadf -p mongodb.url=mongodb://localhost:27017/ycsb?w=0 -threads 32
问题解决。