Use Vagrant Rsync feature to maximize performance

Original article appeared on X-Team.com


png-2

We all know that Drupal doesn’t do really well under the default shared folder of VirtualBox. When we were given the task of creating a new box for one of our clients, we immediately went with NFS file system to circumvent this issue. We quickly realized two things:

  1. Vagrant is way faster with NFS enabled (but won’t work on Windows)
  2. Drupal is still slower reading files using NFS shared folder than using a default LAMP setup on the host directly

Thanks to the newly added feature in Vagrant 1.5, we can now use rsync to sync our shared folder with any Vagrant virtual machine. What does it mean for Drupal local development? A huge performance gain! For your reference, Mitchell Hashimoto (the founder of Hashicorp and the force behind Vagrant) has a very good comparison of all the different file systems’ performance. After doing extensive testing, we quickly realized that this new feature should be there by default of our Vagrant development box and was therefore updated to reflect this change. Note : Vagrant rsync introduced one new command to watch for file changes between the host and the virtual machine. Once the machine is up and running, starting the watcher is really easy (make sure you are in the Vagrant root to use that command): vagrant rsync-auto