Php Symfony2和Twig在流浪箱中的表演

Php Symfony2和Twig在流浪箱中的表演,php,symfony,twig,vagrant,nfs,Php,Symfony,Twig,Vagrant,Nfs,先决条件: 流浪汉箱 2. #-*-模式:ruby-*- #vi:set ft=ruby: Vagrant.configure(“2”)do | config| config.vm.box=“scotch/box” config.vm.network“专用_网络”,ip:“192.168.33.10” config.vm.network“forwarded_port”,来宾:80,主机:80 config.vm.network“forwarded_port”,来宾:3306,主机:3306 co

先决条件:

  • 流浪汉箱

  • 2.
    #-*-模式:ruby-*-
    #vi:set ft=ruby:
    Vagrant.configure(“2”)do | config|
    config.vm.box=“scotch/box”
    config.vm.network“专用_网络”,ip:“192.168.33.10”
    config.vm.network“forwarded_port”,来宾:80,主机:80
    config.vm.network“forwarded_port”,来宾:3306,主机:3306
    config.vm.network“forwarded_port”,来宾:443,主机:443
    config.vm.network“forwarded_port”,来宾:1081,主机:1081
    config.vm.hostname=“scotchbox”
    config.vm.synced_文件夹“../../../project”,“/var/www”,:mount_options=>[“dmode=777”,“fmode=666”,“uid=1000”,“gid=1000”],键入:“nfs”
    #config.vm.synced_文件夹“/mysql”、“/var/lib/mysql”、:mount_options=>[“dmode=700”、“fmode=600”、“uid=106”、“gid=112”],键入:“nfs”
    config.vm.synced_文件夹“../../../project/_conf”、“/etc/apache2/sites enabled”、:mount_options=>[“dmode=755”、“fmode=644”、“uid=0”、“gid=0”],键入:“nfs”
    #############################
    
    $script=我认为这不是细枝性能的问题,而是VirtualBox/vagrant中的目录共享。尝试在VirtualBox中启用I/O缓存。

    为了使它在vagrant中工作得更快,以防您的主机操作系统获胜(我的情况是Windows 7 x64),您需要:

  • 添加修复。我还将“prod”环境添加到列表中:
  • 公共函数getCacheDir()
    {
    if(在数组中($this->environment,array('dev','test','prod')){
    返回“/dev/shm/project/cache/”。$this->environment;
    }
    返回父级::getCacheDir();
    }
    公共函数getLogDir()
    {
    if(在数组中($this->environment,array('dev','test','prod')){
    返回“/dev/shm/project/logs”;
    }
    返回父::getLogDir();
    }
    
  • 通过利用NFS修复I/O性能。问题是,我感到困惑:在synched_文件夹中设置nfs=true选项并不意味着您正在通过nfs进行连接。我的主机操作系统是Win7,我必须安装它才能正常工作。请注意,它不是免费的。 以下是我必须共享的两个文件夹:
  • 另外,使用synced_文件夹进行装载对我来说不起作用,因为NFS服务器只侦听特定的IP地址,所以我不得不对此进行注释:

    config.vm.synced_folder "../../../project", "/var/www", type: "nfs",:nfs => true
    
    换言之:

    $script = <<SCRIPT
      sudo mount 192.168.178.40:/d/project /var/www/ && sudo mount 192.168.178.40:/d/project/_conf /etc/apache2/sites-enabled && sudo service apache2 restart
    SCRIPT
    
      config.vm.provision "shell", inline: $script, privileged: false, run: "always"
    

    $script=第一个请求和以下所有请求是否需要3.5秒,还是仅第一个请求需要3.5秒?如果只是第一个,那么创建缓存需要花费很多时间。你们有5400 RPM的硬盘吗?请看下面我的回答,这在所有后续请求中都是可复制的,所以这不是缓存初始生成的问题。我在ssdcurrency上进行了测试,我正在使用VirtualBox,在“修复”失败后(同样的问题),我将代码移动到VM并通过Samba将其共享到windows…关于I/O性能,您是对的,但我现在回答我的问题,也许这对某些人有用