Seite 1 von 1

Performance via vpn/ssh

Verfasst: Mittwoch 7. Dezember 2011, 22:05
von frixhax
Hallo!
Ich habe auf meinem Server ein Python-Programm, welches einiges an Tabellenkalkulation macht und danach mit matplotlib Plots erstellt und speichert. Dabei werden keine Grafiken auf dem Bildschirm ausgegeben sondern direkt weggeschrieben - die einzige Ausgabe ist Textausgabe in der Shell.
Wenn ich mich von zuhause aus per ssh/openvpn auf meinem Server einlogge und das Programm aufrufe, braucht es ein Vielfaches länger zum durchlaufen - obwohl ja eigentlich nur die Textausgabe über's Netz geschickt werden muss und der Code selbst auf dem Server ausgeführt und prozessiert wird. Woher kann dieser Performanceverlust kommen? Liegt das an Python?
Ich dachte dann, vielleicht läge es am X-Server, da ich mich gewöhnlich per ssh -X einlogge, um vollen Zugriff zu haben. Wenn ich mich ohne X einlogge, bekomme ich eine Fehlermeldung von Python, dass was mit der DISPLAY Variable nicht stimmt - obwohl ja eigentlich keine Grafik ausgegeben wird. Ich habe den Verdacht, dass es an matplotlib liegt, dass das auch ohne direkte Bildschirmausgabe auf X angewiesen ist. Weiß jemand etwas darüber?

Viele Grüße

Re: Performance via vpn/ssh

Verfasst: Mittwoch 7. Dezember 2011, 23:32
von sparrow
Wenn das Programm über ssh langsamer läuft als auf der lokalen Konsole tippe ich auf ein Problem bei der Übertragung. Alternativ kann es auch an dem Client liegen.

Also entweder kommen so viele Daten zurück, dass die schmale Verbindung nicht reicht. In diesem Fall hilft die Option -C um die Verbindung zusätzlich zu komprimieren.

Ein anderes Problem könnte sein, dass dein Client länger braucht um die Zeilen auf der Konsole auszugeben. Wenn du sehr viele Zeilen ausgibst, der Client langsam die Ausgabe schreibt, der Server aber die Bestätigung des Schreibens abwartet, kann es auch zu einer Verzögerung kommen.


Gruß
sparrow

Re: Performance via vpn/ssh

Verfasst: Mittwoch 7. Dezember 2011, 23:45
von frixhax
Hi!
Hm, das ist es ja. Ich lasse nicht viele Zeilen ausgeben. Es sind 5 Zeilen pro Schleifendurchlauf, auf dem Server mit ca. 1s/Loop. Von zuhause aus sind es ca. 20s/Loop, wobei zwischen den Ausgaben der Zeilen einfach nichts passiert. Und wie gesagt, eigentlich dürfte außer den paar Zeichen nichts übers Netz geschickt werden, da die Berechnungen innerhalb der Schleife einfach intern im RAM des Servers laufen.
Habe es sowohl über ein nativ installiertes ScientificLinux (RHEL6) als auch über ein VM-basiertes Linux Mint versucht. Beides gleich langsam. Dann denke ich, dass irgendetwas im serverseitigen Netzwerk die Sache ausbremst, da die sonstigen Übertragungsgeschwindigkeiten bei Dateitransfer z.b. schnell sind, DSL eben.
Danke trotzdem!

Re: Performance via vpn/ssh

Verfasst: Donnerstag 8. Dezember 2011, 08:44
von sparrow
Hast du mal -C versucht?