VirtualBox and Nginx very slowly serving cached static JS and CSS files

Apparently this is a rather known issue: Vagrant/VirtualBox/Apache2 Strange Cache Behaviour, http://smotko.si/nginx-static-file-problem/, https://twitter.com/meinharrd/status/580098162716774400, that attempting to use VirtualBox with Nginx or Apache exhibits buggy behavior (modifying a file will update the contents, but not the length, so making it shorter leads to garbage at the end, and making it longer just truncates at the original length). The solution is always to disable sendfile.

So I disabled sendfile and this actually fixed my problem, but now I see all of those static files taking 2-3 seconds to load every time.

  • How to debug a non-working passwordless RSA certificate in OpenSSH on Alpine?
  • How to convert docker run command into json file?
  • What environment variables can be used with a Docker image?
  • what is Server error: Status 0 while fetching image layer
  • Access from container to host
  • How to add jenkins user to docker startup options on a Mac?
  • Has anyone seen this sort of behavior before? I’m specifically using Boot2Docker to run Nginx and an app in PHP

  • Why do ports need to be specified twice separated by a colon?
  • Rename a project by keeping containers
  • Docker build in Jenkins
  • Change file group with docker-machine
  • How to create ssh tunnel to dockerfile/mysql container
  • View logs for all docker containers simultaneously
  • 2 Solutions collect form web for “VirtualBox and Nginx very slowly serving cached static JS and CSS files”

    There is a known issue on github about volume performance in boot2docker: https://github.com/boot2docker/boot2docker/issues/593

    In that issue there is an interesting link about a A productive development environment with Docker on OS X.

    • What about a shared folder in VirtualBox?

    Don’t use this feature for nginx inside a VM, create a real shared resource on the host instead.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.