我已经开始将很多开发环境迁移到Vagrant。到目前为止,这对于几乎所有的事情都很棒,但我们的第一个Drupal迁移是无法使用的。这是令人难以置信的缓慢。我们的Wordpress,CakePHP和Node.js网站都表现得非常好或更好,但不是Drupal。这只是可怕的。Drupal在流浪环境中速度很慢
该盒子是Veewee创建的Ubuntu 12.04 64位机器。这是我们用于所有基于Web的项目的基本框,因此在那里没有任何独特之处。在我的网站目录中,我有一个规范目录(sites/my-site/
),其中包含所有网站资源以及该规范目录的符号链接,该目录具有域名(sites/dev.mysite.com -> /vagrant/www/sites/my-site
),这对于团队正在使用的某些模块来说显然是必需的。
这是一个混合的Windows/OSX开发团队,它在两个平台上都很慢。从我Vagrantfile
唯一的半规片段是这样的:
config.vm.forward_port 80, 8080
config.vm.share_folder("v-root", "/vagrant", ".", :extra => 'dmode=777,fmode=777')
# Allows symlinks to the host directory.
config.vm.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
Vagrant::Config.run do |config|
config.vm.provision :shell, :path => "provision.vm.sh"
end
我的壳供应者只是做了几件事情:
- 安装drush
- 创建上述符号链接到规范的站点目录
- 写出一个Nginx服务器块
- 如有必要,创建一个
settings.php
文件。
有什么我可以做的,以提高性能?喜欢,很多?
UPDATE
我已经缩小下来到一个地步,它看起来像问题是远程数据库。要比较苹果,没有项目的行李苹果,我下载的Drupal 7.21的全新副本,并进行了标准从流浪Web服务器安装针对3个不同的数据库:
- 在同流浪VM创建为一个新的数据库网络服务器(本地主机)
- 在原来的问题(DEV)使用的共享开发服务器
- 上的EC2实例创建(TMP)
一旦一个新的数据库做上创建一个新的数据库,我登录到新鲜的Drupal安装并加载了epage(localhost:8080)5次。然后我连接到每个数据库并以相同的方式加载相同的页面。我发现当Drupal连接到远程数据库时,页面加载速度降低了4-6倍。
请记住,这是一个新鲜的(标准)安装。没有项目行李。
是否经由主机名或IP地址连接到数据库?数据库是在IPv4还是IPv6上运行? 另外http://serverfault.com/questions/495914/vagrant-slow-internet-connection-in-guest – Danack 2013-06-21 22:48:32