Linux im Netzwerk viel langsamer als Windows

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
BenArt
Beiträge: 21
Registriert: 18.02.2004 18:01:55

Linux im Netzwerk viel langsamer als Windows

Beitrag von BenArt » 31.12.2009 16:04:41

Hallo,
Ich bin jetzt schon bestimmt zwei Wochen am testen, woran es liegt, dass mein Lenny-Server im Netzwerk langsamer ist als ein vergleichbarer Server mit identischer Hardware unter Windows VISTA home. Das witzige ist, dass ich unter Samba (wird von mir bevorzugt) eine große Datei (1,1GB) im Netzwerk (1Gbit, vom lenny-Server zum Vista 64bit Client) eine Übertragunsgeschwindigkeit von bis zu 100MB!!! pro Sekunde erreicht.

Der Unterschied zwischen Windows und Debian Server wird aber erst deutlich, wenn es um viele kleine, sehr viele Dateien geht. Hier bricht die Netzwerkgeschwindigkeit dramatisch ein. Mir würde hier fast ein 10mbit Netz reichen, ohne es vollkommen auszulasten.

Das wäre mir im Notfall auch noch egal, aber jetzt habe ich eine etwas ältere Anwendung, die auf dem Server liegt und unter Vista über Netzwerklaufwerk eingebunden wird. Es ist ein Betriebswirtschaftsprogramm, dass eine textdatei-gebunde Datenbank besitzt, welche über 12 Jahre einiges an Daten beinhaltet. Lese ich nun eine Tabelle (10.000) Datensätze aus, welche aber in einer nur 12MB! großen Textdatei liegen, dauert das ewig. Im Vergleich dazu, wenn das Programm lokal auf dem Vista Client liegt dauert es fast 8x so lange.
OK: Aber richte ich auf nem Windowsserver eine Freigabe ein und lese die Datensätze aus ist dies annähernd genau so schnell, wie lokal!!!

Ich habe den Samba-Server nun umfangreich getestet und komme eigtl. zum Ergebnis, dass hier nicht das Problem liegt (Kein Overload, gute Config), denn mit NFS erziele ich genau das gleiche Ergebnis.
Also muss mein Problem auf einer anderen Ebene liegen, denn ein anderes Lenny System, dass von der Hardware nun fast schon 10 Jahre alt ist bei der Sambafreigabe von genau dem selben Betriebswirtschaftsprogramm genau so schnell (vl. sogar minimal schneller).
=> Hardware kann auch ausgeschlossen werden.

Daher bin ich nun mit meinem Latein wirklich am Ende und hoffe, dass ihr mir weiterhelfen könnt.

MfG BenArt

PS.: Wünsche euch natürlich nen guten Rutsch :-)

Benutzeravatar
schorsch_76
Beiträge: 2630
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von schorsch_76 » 31.12.2009 16:26:53

Hi BenArt,

ich vermute mal das die Bremse bei den kleinen Dateien das Filesystem ist. Welches setzt du denn ein? XFS? Ext3/4? Siehe hierzu auch folgenden Thread [1]

Gib uns doch bitte mal die folgenden Infos:

Code: Alles auswählen

hdparm -tT /dev/sdx
auf dem Lenny System. und Bitte auch ein

Code: Alles auswählen

fdisk -l /dev/sdx
Zur Performance von verschiedenen Dateisystemen lies mal [2] durch. Du wirst überrascht sein was es da für Unterschiede gibt.

Gruß und guten Rutsch

schorsch

[1] http://debianforum.de/forum/viewtopic.php?f=13&t=116500
[2] http://www.pro-linux.de/berichte/ext4/ext4.html

BenArt
Beiträge: 21
Registriert: 18.02.2004 18:01:55

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von BenArt » 31.12.2009 17:04:17

XFS hab ich temporär versucht auf ner vergleichbaren Testplatte => Kein Performance Zuwachs :-(
Momentan liegt das Programm auf nem Software-RAID (mdadm) mit 3 Platten formatiert mit EXT3, welches folgende Werte liefert:

Code: Alles auswählen

hdparm -tT /dev/md1

/dev/md1:
 Timing cached reads:   4944 MB in  2.00 seconds = 2472.79 MB/sec
 Timing buffered disk reads:  458 MB in  3.01 seconds = 152.41 MB/sec
Dazu muss ich sagen, dass lokales kopieren von kleinen Files viel schneller ist (so wie bei Windows auch).

Code: Alles auswählen

fdisk -l /dev/md1

Disk /dev/md1: 639.9 GB, 639992332288 bytes
2 heads, 4 sectors/track, 156248128 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table
Also ich würd sagen, dass es daran auch nich liegt.

Gruß BenArt

Benutzeravatar
schorsch_76
Beiträge: 2630
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von schorsch_76 » 31.12.2009 17:31:24

Hi BenArt,

das PRoblem bei vielen kleinen Dateien über Netzwerk ist der Overhead. Es muss für jede kleine Datei eine eigene TCP Verbindung aufgebaut werden. Bei einer grossen Datei baue ich die Verbindung einmal auf und der Server schiebt alles am Stück in den Socket. Bei kleinen Files ist viel mehr "Aufbau->File Öffnen->Verschieben->File schliessen->Abbau" als bei nur einem grossen File. Das selbe Thema hab ich auch in der Arbeit wenn ich von einem Windows Rechner über das Netz nen Ordner mit knapp 1000 Files via Netzwerk von einem Windows Rechner zum nächsten Windows Rechner schiebe. Ein Archiv davon ist in minimaler Zeit übertragen. Direkte Kopie dauert gefühlt "ewig". Anderst lässt sich das für mich nicht erklären.

Eventuell kannst du bei ext3 noch was tunen mit "noatime, nodiratime". XFS würde ich persönlich nicht einsetzten, eher ext4 Hier auf dem Laptop bin ich sehr zufrieden damit. Extrem gute Performance. Unter Umständen kann man auch noch was an der Samba Config optimieren für viele kleine Dateien. Eventuell was am Caching oder dem Verbindungsmanagement drehen.

Gruß

schorsch

EDIT: Vielleicht kann dir dies hier helfen: http://www.linux-schulserver.de/Section ... 4-p2.phtml
Die "socket options"

Mit diesem Parameter in der [global]-Sektion beeinflussen Sie die Performance von Samba im Netzwerk. Sie können Samba damit unheimlich schnell - aber leider auch unheimlich langsam machen. Ausprobieren ist hier meist der einzige Weg zur richtigen Einstellung für das eigene Netzwerk.

BenArt
Beiträge: 21
Registriert: 18.02.2004 18:01:55

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von BenArt » 31.12.2009 19:49:24

Hi,
Mit socket options hab ich schon rumprobiert und für eine einzige Datei damit auch merkbare erfolge erzielt, aber für die kleinen Zuriffe kaum merkbar :-(

Kann ich TCP tunen? Mehr gleichzeitige Verbindungen zulassen?

Ich finds halt merkwürdig, da es unter Windows ja fast 8x schneller ist :-( Es geht ja scheinbar.

Gruß BenArt

Benutzeravatar
whisper
Beiträge: 3392
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von whisper » 31.12.2009 20:18:15

Ohne jetzt SMB Experte zu sein, würde ich mir intensiv die smb.conf man page ansehen.
Könnte mir denken, ds da was zu holen ist
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von Colttt » 01.01.2010 13:24:41

hallo ich hab eine idee.. hehe..

gib unter windows was frei, mounte dies unter Linux.. erstelle 1-2 dateien die ein paar hunder MB gross sind und ein paar dateien dir nur ein paar MB gross sind, dann verschiebe diese daten auf das gemountete netzlaufwerk..
dann kannst du die geschwindigkeit messen..

ich glaube am besten würde es mit einem skript gehen das dd benutzt..

also irgendwie sowas wie
dd if=/dev/null of=/das/netzlaufwerk bs=1M count=10
das in einer while schleife ein paar mal durchlaufen lassen und das ergebnis in eine textdatei schreiben lassen, dann hast du die genaue performance
Debian-Nutzer :D

ZABBIX Certified Specialist

BenArt
Beiträge: 21
Registriert: 18.02.2004 18:01:55

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von BenArt » 01.01.2010 16:07:20

Also ich wünsch euch allen erstmal ein gutes neues Jahr :-)

Also Performance will ich nicht unbedingt messen, ich seh ja das es in etwa 8 mal solangsam ist, wie wenn der Server unter Windows laufen würde anhand wie schnell die Datensätze ausgelesen werden :-)

Außerdem kann ich nahezu ausschließen, dass es an der Samba config liegt, da ich zum Einen schon nahezu alle Einstellungen durchprobiert habe und zum Anderen NFS genau so langsam ist.

Ich vermute es hat mit TCP zu tun. Vielleicht muss ich irgendwo einstellen, dass er gleichzeitig mehrere öffnen kann zum Client. Was vl. auch sein kann ist, dass er zum Beenden zu lange braucht.

Ich bin echt total verwundert, denn normal ist mein Debian noch nie langsamer gewesen als Windows. Wieso ist der Win-Server sooo viel schneller :-(

Gruß BenArt

Benutzeravatar
whisper
Beiträge: 3392
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von whisper » 02.01.2010 10:28:39

Deinen Hinweis auf NFS habe ich überlesen, Tschuldigung.
Die Ausgabe von ifconfig zeigt auch nichts ungewöhnliches?
Wegen dem vermuteten Overhead, könntest du ein Problem mit IPV4 /V6 haben?
Alter ist übrigens keine Ausrede, nur Erfahrung, die sich stapelt. 😉

BenArt
Beiträge: 21
Registriert: 18.02.2004 18:01:55

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von BenArt » 02.01.2010 19:58:43

Aufn zweiten Blick sieht die ifconfig merkwürdig aus :-(

Nach 4 Tagen uptime macht mir diese Zeile unter eth0 Angst:

Code: Alles auswählen

RX packets:28419023 errors:0 dropped:15800039584746 overruns:0 frame:0
Und es werden ständig mehr dropped packets :-(

Gruß BenArt

reox
Beiträge: 2561
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: Linux im Netzwerk viel langsamer als Windows

Beitrag von reox » 06.01.2010 10:20:29

da hilft nur tcpdump gucken... kann es sein das ein gerät an deine kiste pakete sendet die die netzwerkkarte net annehmen will? (falsche mac etc?) oder dropped deine firewall einfach viel müll?

Antworten