Poprawa wydajności SSHFS podczas odzwierciedlania zmian w katalogu hosta


12

Mam podłączenie SSHFS od gościa VM Ubuntu Server, podłączając katalog hosta Mac OS X. Zmiany wprowadzone bezpośrednio w katalogu hosta Mac OS X zajmują około 5–10 sekund, aby odzwierciedlić się w montażu gościa VM maszyny Ubuntu Server.

Używam następującego polecenia ...

sshfs użytkownik @ host: ~ / host

Jakie dodatkowe opcje (jeśli istnieją) poprawią to opóźnienie?


1
Jak oceniasz, że zajmuje to 5–10 sekund?
Kyle

@Kyle, 5-10 sekund wydaje się być bardzo zbliżonych do prawidłowej wartości, ponieważ domyślna pamięć podręczna {stat, reż, link} wynosi 20 sekund.
Zoredache

1
@Kyle Po prostu uruchamiam watch -n 1 'ls -l ~/host'punkt montowania i tworzę katalog lub plik na hoście i sprawdzam, ile czasu to zajmie.
chattsm

Odpowiedzi:


17

SSH nie jest zaprojektowany jako protokół przesyłania plików. SSHFS działa okresowo przeglądając listę katalogów i wyniki buforowania.

Możesz kontrolować zachowanie buforowania, ale kosztem wydajności związanej z interaktywnością. Jeśli dostęp do hosta SSH, do którego się podłączasz, jest uzyskiwany za pośrednictwem łącza o dużym opóźnieniu lub powolnego połączenia, wyłączenie buforowania spowoduje, że przeglądanie systemu plików będzie bolesne.

W każdym razie zobacz stronę podręcznika i poeksperymentuj trochę.

człowiek sshfs

   -o cache=YESNO
          enable caching {yes,no} (default: yes)

   -o cache_timeout=N
          sets timeout for caches in seconds (default: 20)

   -o cache_X_timeout=N
          sets timeout for {stat,dir,link} cache

Dzięki, nie spędziłem wystarczająco dużo czasu na czytaniu instrukcji, aby zobaczyć te opcje.
chattsm

Jakieś polecenia, które wymusiłyby natychmiastowe ponowne skanowanie? Przypuszczam, że skrypt powłoki R=".rescan.tmp$RANDOM" if [ ! a $R ]; then touch $R; rm $R; fimoże być? Czystszy sposób?
Jeff Burdges

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.