A faster rsync for Vagrant

[vagrant-gatling-rsync is ] an rsync watcher for Vagrant 1.5.1+ that uses fewer host resources.

How it works:

The built-in rsync-auto plugin sometimes uses a lot of CPU and disk I/O when it starts up on very large rsynced directories. This plugin is designed to work well with such large rsynced folders.

The rsync-auto command that ships with Vagrant 1.5 uses the listen gem. The Listen gem is quite thorough – it uses Celluloid to spin up an actor system and it checks file contents on OS X to ensure that running “touch” on a file (to do a write but not update its content) will not fire the rsync command.

The downside of using Listen is that it takes a large amount of host resources to monitor large directory structures. This gem works well with to monitor directories hierarchies with 10,000-100,000 files.

This gem’s implementation is much closer to the underlying fsevent or inotify APIs, which allows for higher performance.


Leave a Reply

Your email address will not be published. Required fields are marked *