RocksDB 上的 YCSB:请求发出率越高,延迟越低

问题描述

我想测试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 (将#修改为@)