Làm thế nào để khắc phục tốc độ tải mạng Virtualbox cực chậm?


37

Tôi đang sử dụng máy ảo Ubuntu 12.04 (hashicorp / precision32) qua Vagrant / Virtualbox. Nó dường như có tốc độ tải xuống cực kỳ chậm so với hệ thống máy chủ của tôi. Đây là những gì tôi nhận được với hệ thống máy chủ (OSX) với speedtest-cli:

Testing download speed........................................
Download: 845.62 Mbits/s
Testing upload speed..................................................
Upload: 296.03 Mbits/s

Và đây là những gì tôi nhận được trong HĐH khách (Ubuntu 12.04):

Testing download speed........................................
Download: 12.41 Mbits/s
Testing upload speed..................................................
Upload: 247.64 Mbits/s

Vì vậy, tốc độ tải máy chủ nhanh hơn 70 lần! Phản ứng thông thường cho những vấn đề này là:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
end

Nhưng tôi đã cấu hình nó cho Vagrantfile của tôi.

Tôi cũng đã thử nghiệm điều này với Virtualbox đơn giản và 12.04 (không có Vagrant). Vấn đề tương tự xảy ra khi tôi sử dụng giao diện NAT. Tuy nhiên, chuyển sang chế độ bắc cầu giúp tốc độ tải xuống nhanh hơn 20 lần. Điều này thật khó chịu, vì Vagrant dựa vào giao diện NAT luôn là eth0.

Tôi sử dụng OSX Mavericks làm hệ thống máy chủ. Phiên bản hộp ảo là 4.3,18.

Có ý kiến ​​gì không?

Câu trả lời:


30

Đối với người dùng mơ hồ, hãy thêm phần sau vào tệp Vagrant của bạn:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype1", "virtio"]
end

Tôi đã tăng tốc độ ~ 15 lần. Trên GUI VirtualBox tôi thấy bây giờ một Loại bộ điều hợp khác cho giao diện NAT của tôi: Mạng Paravirtualized (virtio-net).


1
Tôi gặp vấn đề tương tự: tốc độ tải lên trên hình ảnh Boot2Docker chạy trên Vagrant, như được đo bằng speedtest-cli, là 0 (vì vậy bạn có thể đo được nó chậm không?). Ngay sau khi tôi thêm cài đặt này, tốc độ tải lên phù hợp với tốc độ của hệ điều hành máy chủ của tôi. Cảm ơn!
Yevgeniy Brikman

Có ai biết tất cả các giá trị khác có thể là gì? Bất kỳ liên kết đến các tài liệu?
nha

Tôi không sợ cải thiện. Vagrant 1.7.4, Virtualbox 5.0.4
lsh

Tất cả các tùy chọn có thể có ở đây: virtualbox.org/manual/ch08.html#idp46730496367936 Hãy thử Am79C973nếu bạn gặp vấn đề với virtio.
Juliusz Gonera

2
VBoxManage Sửa đổi YourMachineName --nictype1 virtio
Brian Low

17

Tôi đã tìm thấy giải pháp đơn giản hơn cho tôi

  • Máy chủ lưu trữ Ubuntu 14.04
  • khách ubfox 14.04
  • Nat với chuyển tiếp cổng
  • tốc độ tải lên cực kỳ chậm từ khách. Nó chậm đến mức kiểm tra tốc độ thậm chí không thể đo được.

Tôi vừa chuyển sang bộ chuyển đổi PCNet-Fast III. Và tốc độ trở nên đủ tốt đối với tôi (40 Mb / giây)


1
Làm việc với tôi với Host Ubuntu 14.04 và Guest Ubuntu 12.04.
ross

1
Để chuyển sang PCNet Fast III trong Vagrantfile, hãy sử dụng v.customize ["modifyvm", :id, "--nictype1", "Am79C973"].
Juliusz Gonera

Điều này làm việc tuyệt vời! Tôi đã gặp sự cố với apt-gettreo trong khi cố gắng tải xuống. Cuối cùng, nó sẽ hoạt động, nhưng thay đổi bộ điều hợp mạng như trên đã giải quyết vấn đề.
Brendon Muir

Đã làm việc với máy chủ Win10 chạy Ubuntu 16.10.
cướp

0

Câu trả lời của @ auramo rất hữu ích, nhưng xin lưu ý rằng nó chỉ định một NIC cụ thể: # 1. Trong hệ thống của tôi, ví dụ, tôi có nhiều Giao diện mạng. Tôi đã phải xác định --nictype4.

Đồng thời, những người khác đã báo cáo các lợi ích ở nơi khác về việc chỉ định natdnshostresolver#natdnsproxy#đâu #là một số xác định NIC của bạn. Trong tôi, nó trông như thế này:

config.vm.provider "virtualbox" do |v|
  v.customize ["modifyvm", :id, "--nictype4", "virtio"]
  v.customize ["modifyvm", :id, "--natdnshostresolver4", "on"]
  v.customize ["modifyvm", :id, "--natdnsproxy4", "on"]
end
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.