Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others


0 votes
in Technique[技术] by (71.8m points)

benchmarking - YCSB on rocksdb: the latency becomes lower when the request issuing rate becomes higher

I want to test the performance of mongodb. And I choose the workloadc, which is a read-only workload. So I load about 10G data. First, I did not set the 'target' parameter. And the test command is : ./bin/ycsb run mongodb -s -P workloads/workloadc the result is:

[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

Second, I set the 'target' parameter to 4000. The test command is: ./bin/ycsb run mongodb -s -P workloads/workloadc -target 4000 the result is:

[READ], AverageLatency(us), 221.37833987374168
[READ], MinLatency(us), 87
[READ], MaxLatency(us), 98239
[READ], 95thPercentileLatency(us), 403
[READ], 99thPercentileLatency(us), 459
[READ], Return=OK, 117220

The read latency of first experiment is 135us, but the read latency of second experiment is 221us. The latency becomes much higer when I try to set the 'target' to 1000 or smaller. Why the read latency becomes higher when I try to limit the throughput? I expect the latency becomes lower.

Note:I run these experiments on a machine with 32-core CPU and 32G DRAM. Although my data size is 10G, which can be all cached in the DRAM, I evit the data from the cache with command echo 1 > /proc/sys/vm/drop_caches before I run each expeiment.

Is there something wrong with my operation?Or is there something wrong with the time statistics in the source code?

Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share