Mejora del rendimiento de SSHFS al reflejar cambios en el directorio del host

12

Tengo un montaje SSHFS de un invitado de VM del servidor Ubuntu, montando un directorio host de Mac OS X. Los cambios realizados directamente en el directorio de host de Mac OS X tardan aproximadamente de 5 a 10 segundos en reflejarse en el montaje de invitado de Ubuntu Server VM.

Estoy usando el siguiente comando ...

sshfs usuario @ host: ~ / host

¿Qué opciones adicionales (si las hay) mejorarán esta latencia?

chattsm
fuente
1
¿Cómo estás determinando que toma 5-10 segundos?
Kyle
@Kyle, 5-10 segundos parece bastante cercano al valor correcto ya que el caché predeterminado {stat, dir, link} es de 20 segundos.
Zoredache
1
@Kyle Simplemente estoy ejecutando un watch -n 1 'ls -l ~/host'punto de montaje y creando un directorio o archivo en el host y viendo cuánto tarda en aparecer.
chattsm

Respuestas:

17

SSH no está diseñado para ser un protocolo de transferencia de archivos. SSHFS funciona mirando periódicamente la lista de directorios y los resultados del almacenamiento en caché.

Puede controlar el comportamiento de almacenamiento en caché, pero a costa del rendimiento en relación con la interactividad. Si se accede al host SSH al que se está conectando a través de un enlace de alta latencia, o una conexión lenta, deshabilitar el almacenamiento en caché hará que las cosas que navegan por el sistema de archivos sean dolorosas.

De todos modos, vea la página del manual y experimente un poco.

hombre 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
Zoredache
fuente
Gracias, no había pasado suficiente tiempo leyendo el manual para ver estas opciones.
chattsm
¿Algún comando que forzaría un reescaneo inmediato? Supongo que un script de shell que contiene R=".rescan.tmp$RANDOM" if [ ! a $R ]; then touch $R; rm $R; fiquizás? ¿Alguna forma más limpia?
Jeff Burdges