Comments (4)
It is surprising that the rate limiting flags have such a large impact. That appears to be a bug.
Other than that, it doesn't surprise me that bindfs is by default quite a bit slower than direct filesystem access. Some overhead will always be unavoidable, but I think some of it is due to various caches being disabled, because the source directory's content can in general change independently. You can experiment with the flags documented in man mount.fuse
.
Also, Debian Stretch is quite old and has only FUSE 2, but FUSE 3 comes with new perormance-related options, such as writeback_cache
.
If you're interested, you can also compare bindfs performance to the example passthrough filesystems that come with FUSE (called fusexmp_fh
in the FUSE 2 branch). I'd expect them to be similar, given the same caching flags.
from bindfs.
Thank you for the quick response. I will experiment with few fuse flags to see if there are any differences. I will share my findings soon.
from bindfs.
Hi Martin,
Thank you for the suggestion and apologies for getting back to you late. Please find our findings below:
-
Upgrading to FUSE 3 resulted in a huge performance boost.
-
The rate limit flags resulted in little to no impact and the amount of time it took to write the 500kb was only about 4.1 seconds compared to a local folder which was about 2.2 seconds.
-
Local Folder
real 0m2.248s
user 0m0.623s
sys 0m0.528s -
Bindfs 1.17
real 0m3.820s
user 0m0.628s
sys 0m0.553s -
Bindfs 1.17 with --read-rate=1T --write-rate=1T
real 0m4.098s
user 0m0.679s
sys 0m0.551s
These results are not averages and might have some margin of error. However, they are enough to say FUSE 3 is yielding better performance than the default binary available on Debian 11, so thank you for the suggestion!
Also, I'm wondering if bindfs can be compiled and statically linked with libfuse3 and released to apt-get?
from bindfs.
It's interesting that FUSE 3 has such a large impact. Thanks for following up!
Also, I'm wondering if bindfs can be compiled and statically linked with libfuse3 and released to apt-get?
Debian will almost certainly not accept such a change for the stable distro, but for unstable it might.
(Static linking is probably unnecessary and counterproductive in this case.)
from bindfs.
Related Issues (20)
- Failed to resolve mount point on MacOS / Ventura HOT 3
- [Question/Bug maybe?] preserve/mirror file's selinux context HOT 2
- bindfs file descriptor leak with --block-devices-as-files HOT 2
- Behavior Question: Why does BindFS exhibit permission issues when bind mounted into a container? HOT 2
- Mount directory as a non-root user from /etc/fstab HOT 3
- no package Bindfs available HOT 3
- Support for 64bit statfs on macOS HOT 1
- Race condition between `bindfs` exit and filesystem actually being mounted HOT 5
- Unable to listen to unix domain socket inside bindfs mount on macOS HOT 8
- Test suite fails with fuse-t HOT 1
- ACLs on MacOS HOT 3
- configure: error: FUSE not found on Mac 13.5.1 HOT 5
- homebrew: Unsatisfied requirements failed this build. HOT 2
- macos: Provide Launch Agent to mount bindfs on system startup HOT 4
- Support for negative offset (?) HOT 3
- [1.17.5] Commit 38cd6e7e13ce966dc8e196eb3037935682e613a6 introduced undefined behavior? HOT 3
- Contributing simple Linux CI based on GitHub Actions via pull request welcome? HOT 17
- 1.17.6 no longer compiles on CentOS 7 HOT 1
- Memory allocation failures not checked
- Don't know how to build a static `bindfs` executable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bindfs.