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.

  • Cloud foundry scale
  • Communicating between a windows and linux docker container on the same host
  • Boot2docker on windows got “Permission denied” error
  • Docker multi-container logging cap
  • How can I restrict ports to a host created by docker-machine?
  • Running docker-compose with mysql and own docker container
  • Has anyone seen this sort of behavior before? I’m specifically using Boot2Docker to run Nginx and an app in PHP

  • Elastic Beanstalk Multicontainer Docker Environments: redirect requests between 2 APIs
  • How to access a running docker containers external ip from within the container?
  • Docker swarm version upgrade without causing downtime
  • Getting custom workitem handlers into jBPM 6 docker images
  • Using docker volume with a NFS partition
  • Atomic OS/Core OS for large scale Mesos cluster?
  • 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.