2016-04-07 13 views
0

Es gibt viele Seiten im Zusammenhang mit diesem Problem, und ich habe versucht, die häufig vorgeschlagene Umstellung auf NFS-basierte Freigaben. Dies hat die Latenz tatsächlich verdoppelt. Rsync-basierte Synchronisierung ist keine praktikable Option, da der freigegebene Ordner 18G ist und ich möchte es nicht mit --exclude-Dateien verwalten, da sich die --exclude-Liste bestenfalls wöchentlich ändert und ein Management-Albtraum ist)Vagrant: extrem langsam synchronisierten Ordner (Mac Host, Ubuntu Gast)

Was merkwürdig ist, ist, dass die Leistung auf einem Ubuntu Host exzellent ist, der im Vergleich zum Macbook Pro Host (OS/X El Cap) minderwertige Hardware aufweist.

Synchronisiert Ordner Größe: 18G:

**Ubuntu Host** 
    vagrant: 1.7.4 (installed via apt-get @ 15.10) 
    VirtualBox: 5.0.14_Ubuntur105127 (installed via apt-get @ 15.10) 

    synced as: config.vm.synced_folder ENV['src'], "/src", create: false 
     cd /repo  // instant 
     ls   // instant 

**Mac Host** 
    vagrant: 1.8.1 (installed via homebrew) 
    VirtualBox: 5.0.16 (installed via binary at Oracle site) 

    synced as: config.vm.synced_folder ENV['src'], "/src", create: false % 
     % cd /repo  // 1 minute, 2 seconds 
     % ls   // 27 seconds 

    synced as: config.vm.synced_folder ENV['src'], "/src", type: "nfs", create: false 
     % cd /repo  // 2 minutes, 43 seconds 
     % ls   // 40 seconds 

Antwort

0

Ich habe festzustellen, was es extrem langsam machte, obwohl ich nicht herausgefunden haben, warum.

Es war zsh (oder oh-my-zsh) .. Als Teil meines Bereitstellungsskripts installiere ich zsh und mache es zur Standard-Shell. Ich bemerkte, dass meine anderen vagabundierenden Gäste ziemlich bissig waren und sie alle den gleichen synchronisierten Ordner teilten. Der einzige Unterschied war zsh. Als ich zsh entfernte, ging die Leistung zurück zu dem, was erwartet wurde (cd in dir benötigte < 1 Sek. Verglichen mit einer Aufnahme zwischen 1: 02m-2: 43m). Vielleicht hat es etwas damit zu tun, dass zsh versucht, den Inhalt für die Befehlsvervollständigung zu indizieren? Ich melde mich zurück, wenn ich dazu komme, es zu lösen, aber für den Moment habe ich das Shell-Set auf Bash gelegt, um das für mich zu lösen.

+1

"Vielleicht hat es etwas damit zu tun, dass zsh versucht, den Inhalt für die Befehlsvervollständigung zu indizieren?" Wenn es sich um ein Git-Repo handelt, ist oh-my-zsh standardmäßig so eingestellt, dass es den git-Status in der Eingabeaufforderung anzeigt, was bedeutet, dass es 'git status' bei jedem' cd'-Befehl ausführt. In großen Repos kann der Git-Status einige Sekunden dauern, was alles extrem langsam macht. Ich denke, die Indexierung sollte kein Problem sein, da es nur ausgeführt wird, wenn es benötigt wird, d. H. Wenn Sie auf die Tabulatortaste drücken. –