Vagrant Homestead 缓慢

5
我有一个基于Laravel Homestead的Vagrant服务器,用于本地测试我的Laravel网站,大部分时间它都运行得很好。然而,最近我一直遇到问题,它会在几分钟(典型情况)到数小时(罕见情况)内停止工作。这种情况每隔15分钟左右就会发生。如果我正在ssh连接中输入内容,它会突然停止。然后当我几分钟后再次查看时,我之前输入的内容现在才出现。这不仅仅是SSH,页面也无法加载,vagrant命令包括rsync和halt也失败了。
这是原始的Homestead,除了我将映射更改为通过rsync(手动运行rsync命令来更新服务器)。之所以这样做,是因为我在网页上遇到了30秒左右的加载时间,经过研究和尝试rsync后,这对我有很大帮助。此外,我已经尝试让它使用所有4个CPU。我在Macbook Air 2013上运行这个程序,如果这很重要的话。过去两个月里,它一直运行良好。Vagrant服务器正在运行2048MB的内存,我有15GB的可用磁盘空间。
这是一个非常令人沮丧的问题,因为它会极大地减缓开发速度。
编辑:这似乎在使用ssh的mysql命令行时最频繁发生(但不是唯一的)。
2个回答

5

我在Windows上遇到了同样的问题,以下步骤可以解决:

安装vagrant插件: vagrant plugin install vagrant-winnfsd

然后将以下内容添加到你的homestead.yaml文件中: type: nfs

yaml文件应该长这样:

folders:
    - map: C:\my-www
      to: /home/vagrant/my-www
      type: nfs

完成所有操作后,销毁您的虚拟机并执行vagrant up命令。


1
我曾经遇到过这个问题。使用Vagrant box的Laravel非常缓慢。我尝试了不同可用的虚拟机设置,增加虚拟机资源,更改PHP-fpm设置,检查数据库性能等等,但都没有结果。
实际上有帮助的是:
  1. 将vagrant更新到最新版本-访问vagrant网站下载并安装。
  2. 安装NFS插件vagrant plugin install vagrant-winnfsd

    vagrant plugin install vagrant-winnfsd

  3. 安装Virtual Box guest插件

    vagrant plugin install vagrant-vbguest

  4. 编辑vendor \ laravel \ homestead \ scripts \ homestead.rb如下:

4.1 删除或注释掉该行:

mount_opts = folder['mount_options'] ? folder['mount_options'] : ['actimeo=1', 'nolock']

4.1 更改行:

config.vm.synced_folder folder['map'], folder['to'], type: folder['type'] ||= nil, **options

config.vm.synced_folder folder["map"], folder["to"], type: folder["type"] ||= nil, :nfs => true
  1. 在 Homestead.yaml 文件的 folders:/to 下添加以下行:

    type: nfs

  2. 重启 vagrant

    vagrant reload


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接