New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
why the value of allow_mmap_reads is set to false by default #507
Comments
The reason rocksdb is faster is because it does not use mmaped IO because mmaped IOs on some linux platforms are known to be slow. You need read the wiki before ask the question.. |
What Zongzhi said. In many of the benchmarks and workloads we have run, Zongzhi: Thanks for responding. It's great to see the community answer On Fri, Feb 13, 2015 at 5:26 AM, Zongzhi Chen notifications@github.com
|
Thanks very much! may be the reason that the test data set is too small, I draw an opposite conclusion,I will to verify with more data set. |
I've noticed that its possible to improve performance when the db is less
|
You can also use utility called vmtouch to load the file into main memory (file cache). Closing this issue since the question is answered. Let us know if you have any other questions. |
@veeve can you tell me the reason why mmap hurts performance when the entire data set cannot be memory resident? I think we always running on 64 machine, so we don't need consider the problem of running out of virtual memory.. |
I have reproduced this result many times -- when database is larger than However, even with disk you have to worry about setting the filesystem On Sun, Mar 8, 2015 at 11:16 AM, Zongzhi Chen notifications@github.com
Mark Callaghan |
hi everyone
I recently in the study of rocksdb.I find that the value of allow_mmap_reads is set to false by default and the the performance of readrandom with allow_mmap_reads=false is very lower than allow_mmap_reads=true,because of rocksdb uses mmap to load all the data of file to os buffer in the beginning.can anybody answers to me why the value of allow_mmap_reads is set to false by default? this setting can improving the performance in some cases?
Ask this question because of leveldb without this parameter, it can using mmap by default. so i want to know the purpose of doing so by rocksdb.
The text was updated successfully, but these errors were encountered: