SFTP-Plugin langsamer als FileZilla ?

German support forum

Moderators: white, Hacker, Stefan2

frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

SFTP-Plugin langsamer als FileZilla ?

Post by *frier »

Guten Tag,

ich habe das aktuelle SFTP-Plugin und die aktkuellen DLL-Dateien installiert.

SFTP läuft, aber selbst bei einer Leitung mit fast 400 Mbit/sek im Download und etwa 25 Mbit/sek im Upload komme ich nicht über etwa 35 Mbit/sek im Download und etwa 4 Mbit/sek im Upload hinaus.

Die Installation habe ich schon mehrmals geprüft. Es sind die richtigen Dateien installiert.

Mit FileZilla dagegen erreiche ich die volle Geschwindigkeit.

Aufgefallen ist mir noch, dass die Prozessorauslastung bei einer SFTP-Übertragung mit dem Totalcommander in etwa auf den 3fachen Wert wie bei FileZilla steigt. Bei mehreren Verbindungen, wie das FileZilla tut, steigt die Auslastung beim Totalcommander entsprechend an.

Ist das für dieses Plugin so korrekt oder habe ich doch irgendwo einen Fehler?

Ansonsten muss ich sagen: Ich bin seit vielen Jahren mit dem Totalcommander vollstens zufrieden.

Gruß

Erich
User avatar
Dalai
Power Member
Power Member
Posts: 9388
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Beim Wort FileZilla stellt sich mir sofort die Frage, ob dort auch dasselbe Protokoll eingestellt und benutzt wird wie im TC. Weiterhin kann man im SFTP-Plugin in den Einstellungen der Verbindung den Transfer via SCP aktivieren, von dem das Plugin selbst sagt, es ginge schneller; ich habe diese Option immer aktiviert, kann aber nicht beurteilen, ob ein Transfer tatsächlich schneller geht.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

Post by *frier »

Ja, mit SCP läuft es schneller. Allerdings habe ich dann das Problem, dass sich die Dateidatums und die Dateizeiten auf das aktuelle Datum bzw. die aktuelle Zeit ändern, was ich nicht will.

Eine Einstellung, dass mit SCP Dateidatum/-uhrzeit beibehalten werden habe ich (noch) nicht gefunden.

Ansonsten wäre es vermutlich die Lösung.

Gruß

Erich
User avatar
Dalai
Power Member
Power Member
Posts: 9388
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

frier wrote:Allerdings habe ich dann das Problem, dass sich die Dateidatums und die Dateizeiten auf das aktuelle Datum bzw. die aktuelle Zeit ändern, was ich nicht will.
Keine Ahnung, ob das ein Bug ist, aber das passiert nur bei Aktivierung der Option "Benutze SCP für alles (kein SFTP)". Es genügt wohl, wenn du die Option "Benutze SCP für Transfers" benutzt.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

Post by *frier »

Leider ist die Option "Benutze SCP für Transfers" a l l e i n e keine Option, weil ich dann nach dem Verbindungsaufbau überhaupt keine Daten hochladen kann.

Hake ich die Option "Benutze SCP für alles" an, dann ändert sich der Zeitstempel (Datum/Uhrzeit).

Hake ich sowohl "Benutze SCP für Transfers" als auch "Benutze SCP für alles" an, ändert sich der Zeitstempel.

Hake ich SCP nicht an, wird es "langsam", aber der Zeitstempel bleibt.

"scp -p" kann ich leider nirgendwo „anhaken“ – das würde die Änderung des Datums/der Zeit verhindern. Es könnte sein, dass nach Aktivieren der Option "Änderungszeitpunkt der übertragenen Datei beibehalten" bei FileZilla genau dieser "-p"-Parameter benutzt wird.

Auch bei Verwendung von WEBDAV wird der Zeitstempel geändert.

Keine Probleme hatte ich bisher mit der Beibehaltung des „Zeitstempels“ wenn ich SFTP benutze und die Daten verschlüsselt übertrage.

Gruß

Erich
User avatar
Dalai
Power Member
Power Member
Posts: 9388
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Zu welcher Art von Server verbindest du dich überhaupt? Ich habe über die Jahre noch nie ein Problem gehabt mit der Option "Benutze SCP für Transfers", nicht bei Ubuntu und auch nicht bei Debian.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

Post by *frier »

Die Verbindung geht zu 1und1 LINUX Limited.

Wobei Limited ..., da muss man die ABG´s genau lesen (Webspace) bzw. in das Kontrollcenter schauen (Anzahl der Dateien), erst dann wird klar was damit gemeint ist.

Gruß

Erich
mifritscher
Junior Member
Junior Member
Posts: 5
Joined: 2015-10-14, 08:26 UTC

Post by *mifritscher »

Paar weitere Informationen (gibt einen brauchbaren shell-Zugang):

cat /etc/issue
Debian GNU/Linux 8 \n \l

uname -a
Linux infong61 3.14.0-ui16322-uiabi1-infong-amd64 #1 SMP Debian 3.14.79-2~ui80+4 (2016-11-17) x86_64 GNU/Linux

cat sshd_config (in Auszügen)
KeyRegenerationInterval 3600
ServerKeyBits 1024
Compression yes
Subsystem sftp /usr/lib/openssh/sftp-server

(uiserver):p7175329:/etc/ssh$ /usr/sbin/sshd -v
unknown option -- v
OpenSSH_6.7p1 Debian-5+deb8u1~ui80+7, OpenSSL 1.0.1t 3 May 2016

An der Kompression liegt es nicht - sehr gut komprimierbare Dateien (dd if=/dev/zero ;) ) sind genauso langsam.

Ich habe mal meinen eigenen Server ausprobiert (normales Debian Jessie) - ist genauso langsam, und auch mit demselben Unterschied Download/Upload. Bei dem kann ich allerdings die Option "scp für transfers" alleine setzen.Der Upload geht dann schneller - nutzt meine Bandbreite aus - der Download bleibt allerdings langsam bzw. ist tendenziell eher noch langsamer. Den Zeitstempel zerhauts dann aber auch.
User avatar
Dalai
Power Member
Power Member
Posts: 9388
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Tja, dann weiß ich leider auch nicht weiter. Ich habe kein Problem, mit ~24 MB/s (ja Megabyte, nicht Megabit) im LAN via SFTP (mit Option SCP für Transfers) zu bzw. von einem Ubuntu Server zu übertragen. Mangels schneller Internetleitung bzw. geeignetem SFTP im Internet kann ich sowas leider nicht testen.

Vielleicht funkt mal wieder ein Virenscanner bzw. Internet Security dazwischen, der alles scannt? Das könnte auch die falschen Zeitstempel erklären.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
mifritscher
Junior Member
Junior Member
Posts: 5
Joined: 2015-10-14, 08:26 UTC

Post by *mifritscher »

Zumindest bei mir nervt kein Virenscanner - ich hab das innem jungfräulichen wine getestet ;-) (Ja, ich bekenne mich schuldig den Total Commander zuweilen auch unter Linux zu verwenden :-D )
User avatar
Dalai
Power Member
Power Member
Posts: 9388
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2mifritscher
Von Wine Geschwindigkeit zu erwarten ist IMO etwas optimistisch gedacht. Schließlich müssen alle Befehle des TC erstmal übersetzt werden in ihre Linux-Entsprechungen und umgekehrt - und das bei Transfers verschlüsselter Daten wie in diesem Fall. Schau dir mal die CPU-Last während des Transfers an, berücksichtige dabei aber, dass die Verschlüsselung mit Sicherheit nicht multithreaded sein wird, oder anders ausgedrückt: sobald ein Kern voll ausgelastet wird, geht's nicht schneller.

Grüße
Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

Post by *frier »

Danke Dalai und mifritscher.

Ich glaube ich lass mal das "WeiterProbieren" und schätze den Totalcommander auch weiterhin.

Allerdings werde ich für 1und1 und LINUX Limited für den Datentransfer von mehr als nur ein paar "Megabyte" FileZilla verwenden, damit gehts einfach schneller und der "Zeitstempel" bleibt erhalten.

Wenn ich richtig informiert bin, bleibt der Zeitstempel (Datum und Uhrzeit) bei FTP erhalten, wenn die Befehle MFMT oder MDTM oder SITE UTIME akzeptiert werden.

Gruß

Erich
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48079
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

SFTP ist ein sehr langsames Protokoll, weil dieses die Datei Blockweise überträgt. SCP dagegen übeträgt sie als einen durchgehenden Strom, ähnlich wie HTTPS. Deshalb bitte wenn immer möglich SCP für die Übertragung benutzen (nicht SCP für alles, das ist nur für Server, die gar kein SFTP unteerstützen). Zu 1und1 kann ich mangels Konto leider nichts sagen.
Author of Total Commander
https://www.ghisler.com
frier
Junior Member
Junior Member
Posts: 7
Joined: 2017-01-27, 11:21 UTC

Post by *frier »

Danke, die Geschichte mit SCP dürfte inzwischen klar sein.

Im Plugin SFTP 1.4.2 vom 2015/09/06 fehlt für mich lediglich die Option "Zeitstempel (Datum/Uhrzeit) erhalten", dann wäre es (mit SCP) vermutlich die perfekte Lösung in Verbindung mit dem Totalcommander. Im Vergleich mit FilZilla ist mir der Totalcommander viel lieber, sowohl vom Handling, als auch von der Übersichtlichkeit.

Gruß

Erich
CoolWater
Power Member
Power Member
Posts: 737
Joined: 2003-03-27, 16:33 UTC

Post by *CoolWater »

Mir scheint, als hätte ghisler das einfach nur vergessen. Im Quellcode wird an der Stelle wo Datum/Uhrzeit gesetzt nicht berücksichtigt, dass SCPOnly aktiv ist.

2ghisler(Author)
ich habe die Funktion SftpUploadFileW() entsprechend angepasst. Der Teil, wo Datum/Uhrzeit gesetzt wird, sähe nun so aus:

Code: Select all

...
if (retval==SFTP_OK) {
   if (ConnectSettings->scponly) {
            FILETIME ft;
            if (GetFileTime(localfile,NULL,NULL,&ft)) {
                if (SFTP_FAILED == SftpSetDateTimeW(ConnectSettings, RemoteName, &ft)) {
                    // handle error?
                }
            }
	} else {
        LIBSSH2_SFTP_ATTRIBUTES attr;
        // set modification time ONLY if target didn't exist yet!!!
        FILETIME ft;
        memset(&attr,0,sizeof(attr));
        attr.flags=LIBSSH2_SFTP_ATTR_ACMODTIME | (setattr ? LIBSSH2_SFTP_ATTR_PERMISSIONS:0);
        if (GetFileTime(localfile,NULL,NULL,&ft)) {
            __int64 tm2=ft.dwHighDateTime;
            tm2<<=32;
            tm2|=ft.dwLowDateTime;
            __int64 tm=0x019DB1DE;
            tm<<=32;
            tm|=0xD53E8000;
            tm2-=tm;
            attr.mtime=(DWORD)(tm2/(__int64)10000000);
            attr.atime=attr.mtime;
            attr.permissions=ConnectSettings->filemod;
        }
        while (LIBSSH2_ERROR_EAGAIN==libssh2_sftp_setstat(ConnectSettings->sftpsession,
            thename,&attr)) {
            if (EscapePressed()) {
                ConnectSettings->neednewchannel=true;
                break;
            }
            IsSocketReadable(ConnectSettings->sock);  // sleep to avoid 100% CPU!
        }
    }
}
HTH
CoolWater
Post Reply