问题描述
我想测试mongodb的性能。我选择了工作负载c,它是一个只读工作负载。所以我加载了大约 10G 的数据。
首先,我没有设置“目标”参数。测试命令是:
./bin/ycsb run mongodb -s -P workloads/workloadc
结果是:
[READ],AverageLatency(us),135.2952
[READ],MinLatency(us),84
[READ],MaxLatency(us),75455
[READ],95thpercentileLatency(us),196
[READ],99thpercentileLatency(us),271
[READ],Return=OK,300000
其次,我将'target'参数设置为4000。测试命令是:
./bin/ycsb run mongodb -s -P workloads/workloadc -target 4000
结果是:
[READ],221.37833987374168
[READ],87
[READ],98239
[READ],403
[READ],459
[READ],117220
第一个实验的读延迟是135us,但是第二个实验的读延迟是221us。当我尝试将“目标”设置为 1000 或更小时,延迟会变得更高。 为什么当我尝试限制吞吐量时读取延迟会变高?我希望延迟会降低。
注意:我在具有 32 核 cpu 和 32G DRAM 的机器上运行这些实验。虽然我的数据大小是 10G,可以全部缓存在 DRAM 中,但我在运行每个实验之前使用命令 echo 1 > /proc/sys/vm/drop_caches
从缓存中取出数据。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)