Skrivet av immutable:
Problemet är att det blivit långsamt, får ut max 60 Mbit/s
[...]
jag får full hastighet om jag använder SFTP (både via cmd och med filezilla) istället på samma port och som mig veterligen är samma protokoll som sshfs?
Jag tippar på att det aldrig funkat bra och att du inte har siffror på att "det" någonsin var snabbt.
Skrivet av orp:
Jag har inte koll på implementations detaljerna gällande SSHFS
Typ så här:
SSHFS-demonen gör socketpair/fork/dup2/execve-dansen för att starta den vanliga ssh-binären med parametern -s, dvs som SFTP-klient, för att kunna skriva till/läsa från sftp-klientens stdin/stdout.
När en user-space-process, kanske /bin/bash, skriver till en fil, write(), så görs en context-switch till kerneln. Kerneln skriver till /dev/fuse så att SSHFS-processen kan läsa den skrivna datan via libfuse (context-switch till user space). SSHFS mecklar ihop en iovec med SFTP-protokollets headrar samt datat och skriver till sftp/ssh-processens stdin (context-switch till kerneln, därefter context-switch till sftp/ssh-processen). sftp-processen skriver därefter till sin nätverks-socket (context-switch till kerneln).
Typ fem context-switchar alltså, kanske färre om sftp-processen mecklar ihop sin stdin med nätverks-socketen (orkar inte kolla). Kanske fler om jag har missuppfattat FUSE-protokollet mellan SSHFS och kerneln.
I jämförelse behöver sftp när den kör självständigt bara göra en context-switch till kerneln, för att skriva till nätverks-socketen. Det kommer alltså aldrig bli samma prestanda för de båda.
Jag säger inte att det förklarar hela diffen mellan att köra sftp-kommandot manuellt och att köra över SSHFS, men jag gissar att det är starkt bidragande.
Man kan jämföra med SMB-protokollet här, där det numera finns en kernel-implementation, ksmbd, som alternativ till samba i user space.
Skrivet av xxargs:
Om jag mins rätt så straffas SSH kapacitet hårt av längre pingtider och inget som är lätt att göra något åt - misstänker att andra VPN-lösningar har tagit fördel av denna nackdel.
SSH kör över TCP, så det är framför allt varians i latens som är tråkigt, men även stor utestående oACKad mängd data kan vara problematiskt om bufferstorlekarna är begränsade. Inget av det tycks problematiskt i TS fall eftersom SFTP funkar bra. TCP meltdown (TCP över TCP) kommer inte i spel här, det är det vanliga problemet om man kör TCP-baserat i stället för UDP-baserat VPN.