/ symfony

vagrant环境中symfony程序速度慢解决方案

最近在写一个symfony程序,最开始是直接在Mac下通过console server:run命令启动一个简单的web服务器来访问,但是Mac本身自带的php没有memcached扩展,所以就把这个程序放到vagrant中,然而发现访问的速度非常慢,一个极其简单的页面也需要消耗10秒左右,于是搜索了一下,发现之前有人遇到相同的问题

该文章中列出的几个方案:

  1. 使用vagrant1.2版本(目测不合适,现在都已经1.7+了)
  2. 使用NFS方式挂载目录
  3. vagrant虚拟机中的Vbox Guest Additions版本与virtual box版本一致(我当前的环境就是一致的)
  4. 使用opcache扩展(我当前的环境已经安装了apc)
  5. 关闭xdebug和xphrof扩展(我当前环境已经关闭)

看这情况,只能尝试一下NFS方式了,根据vagrant的文档配置,还好OS X自带了nfsd,省去了安装的麻烦,只需要修改vagrantfile即可。

在vagrantfile中增加两行:

config.vm.network :private_network, type: :dhcp config.vm.synced_folder ".", "/vagrant", type: "nfs"

然后重启vagrant虚拟机vagrant reload

由于启用NFS需要修改/etc/exports文件,所以在启动的过程中会要求输入OS X用户的密码,输入即可。

再次尝试访问symfony程序,发现耗时已经降到200ms左右,完美解决。