Ускоряем vagrant shared-folder на Windows хосте

в 11:15, , рубрики: nfs, performance, shared folder, Ubuntu, vagrant

Ускоряем vagrant shared-folder на Windows хосте - 1

Я полтора года мучился с одной неприятной особенностью ubuntu под vagrant — чертовски медленная расшаренная папка. Простые бенчмарки показывали просадку производительности I/O операций почти на 2 порядка, проекты на php работали до 10 раз медленнее чем на нативном хосте. Так вот, сегодня я задолбался окончательно, хорошо поискал… и оказалось что есть решение, и теперь я просто не могу не поделиться им с кем-то. Решение простое, кому-то покажется очевидным, кто-то знал о нём с рождения (ну или будет так утверждать), но я уверен что знают о нём не все.

А чём проблема то?

По умолчанию vagrant использует файловую систему vboxsf, которая иногда работает крайне медленно (когда это «иногда» случается — я не знаю, у меня оно всегда тормозило). Свой тип файловой системы можно узнать по команде mount

Ускоряем vagrant shared-folder на Windows хосте - 2

Можно заменить файловую систему, но пролема в том что официальная документация… врёт! Она говорит мол да, иногда бывают проблемы с перфомансом расшаренных папок, в таких случаях используйте nfs и будет вам счастье. А ниже приписка — на windows не сработает, и не пробуйте.

Ускоряем vagrant shared-folder на Windows хосте - 3

А знаете в чём соль? Да работает оно и на windows, нельзя верить документации!

И что делать?

Идём сюда https://github.com/winnfsd/vagrant-winnfsd, читаем, ставим, радуемся. Для тех кому лень читать:
1) выполнить в windows консоли «vagrant plugin install vagrant-winnfsd»
2) добавить две строки в Vagrantfile
config.vm.network «private_network», type: «dhcp»
config.vm.synced_folder ".", "/vagrant", type: «nfs»

Перезагружаем vagrant, готово! Не знаю, возможно существуют какие-то подводные камни, может кому-то не поможет, но у меня, вроде, работает отлично. Моя конфигурация: Windows 10 (host) + ubuntu 14.04 (guest). Мой проект на laravel ускорил отдачу страницы с 6.5 секунд до 0.5, что не может не радовать.

P.S. пост получился коротким, сумбурным, но попадись он мне год назад — я был бы безумно рад.

Автор: Влад

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js