我正在使用 Virtual Box 运行虚拟机(版本 4.2.26,但与 v4.3.14 有同样的问题)
VM 是使用 Vagrant 创建的。它无需任何界面即可运行,仅提供网站服务,我使用“vagrant ssh”进入命令行。
两周前它运行得很好,然后我重新启动了电脑,现在它的运行速度在某些方面却慢得可笑。
- ls 和 cd 命令在执行任何操作之前有明显的 1 秒延迟,然后我才能 ssh 进去。
- 加载虚拟机提供的网页需要 30 - 45 秒(如果脚本访问 MySQL)。这些页面过去只需不到一秒即可加载。
- “vagrant up” 以前需要几秒钟来加载虚拟机,现在则需要将近 5 分钟。
我已经多次重建虚拟机。我卸载了 VirtualBox 并重新安装它(最新版本和与 .box 映像版本匹配的版本)
当一切运行正常和运行开始变慢时,代码/数据库没有差异。
MySQL 也在 VM 上运行(MySQL、Apache 和 Nginx 都在 VM 上运行)。
mysql CLI 响应迅速。远程连接到 VM 的 MySQL Workbench 可以快速从 DB 获取结果。
traceroute 告诉我,我的脚本应该直接在本地连接到 MySQL,而不是被路由到 VM 之外。
普通的 .html 或 .php 文件加载速度很快。只有当脚本连接到数据库时,加载速度才会变慢。
运行虚拟机的 PC 运行正常。但重启后尝试单独运行虚拟机时,仍然出现速度问题。
我该如何调试这样的事情?
答案1
事实证明我的问题是 Windows 8 Hyper-V 与 Virtual Box 冲突。
我禁用了 Hyper-V,一切开始顺利运行。
我的猜测是,我最初禁用了 Hyper-V,但也许 Windows 更新启用了它,这就是为什么今天一切正常,明天却变得一团糟的原因。