You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 9, 2019. It is now read-only.
I noticed that on high latency filesystems (Elastic file system, GlusterFS) we were seeing really terrible performance with boltdb. I dug in a little bit more and noticed that we were advising the kernel that we are doing random IO. In my case this is not true, almost all of our io is sequential.
We got more then a 60x performance increase. We were seeing reads of around 1500kb/s (~500iops) before and that changed to 60000kb/s (~100iops). We also saw a massive decrease in the number of iops required to read from the db. I was thinking about putting up a pr that allowed you to choose which MADV flag we use inside of boltdb. Does this sound like something you would accept?
The text was updated successfully, but these errors were encountered:
I also saw improved io on my dev machine with local disks with the same order of magnitude. My local disks have a latency frequently under 1ms while my remote disks take 10-15ms for a single read. This caused a lot more stalling on the remote disks while the local one was fast enough to not usually be the bottleneck.
I noticed that on high latency filesystems (Elastic file system, GlusterFS) we were seeing really terrible performance with boltdb. I dug in a little bit more and noticed that we were advising the kernel that we are doing random IO. In my case this is not true, almost all of our io is sequential.
Original code
changing to this
We got more then a 60x performance increase. We were seeing reads of around 1500kb/s (~500iops) before and that changed to 60000kb/s (~100iops). We also saw a massive decrease in the number of iops required to read from the db. I was thinking about putting up a pr that allowed you to choose which MADV flag we use inside of boltdb. Does this sound like something you would accept?
The text was updated successfully, but these errors were encountered: