PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Samba optimieren wg. hoher CPU-Last


Corny
2004-11-15, 10:34:05
Hallo,
auf meinem kleinen Mandrake 10.1 Server (Celeron 300A, 256MB, 20gig, 2x 100Mbit; Routing mit Ip-Tables, FTP-Server, Print-Server, File-Server, Azureus...) läuft Samba.
Allerdings ist die CPU-Last wenn ich dateien von dem Rechner auf meine Windows-Kiste lade bei 100% und ich kann mit max ca 4MB/s kopieren.
Die Auslastung liegt ansonsten im normalen betrieb bei ca. 10-30%.


woran kann das liegen? ich meine der Celeron ist zwar nicht der schnellste, aber er müsste doch problemlos mit vollem 100Mbit Speed dateien kopieren können.

DMA-Modus deaktiviert? (wie überprüfe ich das?)
oder Samba einfach ungünstig konfiguriert? (wie könnte ich dsa etwas optimieren?)

noid
2004-11-15, 10:49:37
samba ist an sich ungünstig. komme mit nem 1800+ als server auch nur auf 5mb max.
mit ftp hab ich locker 11mb/s

(del676)
2004-11-15, 11:00:20
ich komme auf 30-40mb/s egal ob samba oder ftp
dass es an den einstellungen liegt glaube ich aber nicht:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=16384
write raw = no
read raw = no

trotzdem könntests mal per ftp versuchen.

Corny
2004-11-15, 11:07:18
ich komme auf 30-40mb/s egal ob samba oder ftp
dass es an den einstellungen liegt glaube ich aber nicht:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=16384
write raw = no
read raw = no

trotzdem könntests mal per ftp versuchen.


ok, ich versuche mal FTP wenn ich wieder daheim bin.

wohin müssen die einstellungen die du gepostet hast? in die samba config datei nehme ich mal an, aber wo liegt die? sry, aber ich lerne noch linux :wink:


kann mir noch jemand sagen wie ich überprüfe ob der DMA Modus an ist? könnte ja auch das problem sein?

noid
2004-11-15, 11:09:15
ok, ich versuche mal FTP wenn ich wieder daheim bin.

wohin müssen die einstellungen die du gepostet hast? in die samba config datei nehme ich mal an, aber wo liegt die? sry, aber ich lerne noch linux :wink:


kann mir noch jemand sagen wie ich überprüfe ob der DMA Modus an ist? könnte ja auch das problem sein?

mit hdparm müsste man auch den status auslesen können.

Corny
2004-11-15, 11:12:05
mit hdparm müsste man auch den status auslesen können.


wenn ich mich recht erinnere hab ich das damit schonmal versucht. Linux meinte es kennt den befehl nicht.... ist also wohl Software die nicht standardmäßig installiert ist?
versuch ich dann auch mal zu installieren!

gehts evtl noch anders?

Crushinator
2004-11-15, 11:18:11
wenn ich mich recht erinnere hab ich das damit schonmal versucht. Linux meinte es kennt den befehl nicht.... ist also wohl Software die nicht standardmäßig installiert ist? (...)

# hda durch die jeweiligen HDDs ggf. (in hdb usw.) ersetzen
/sbin/hdparm -c1 -d1 /dev/hda
# Für jede HDD eine eigene Zeile

Corny
2004-11-15, 11:24:55
# hda durch die jeweiligen HDDs ggf. (in hdb usw.) ersetzen
/sbin/hdparm -c1 -d1 /dev/hda
# Für jede HDD eine eigene Zeile



achso, braucht nen ganz anderen befehl.
ich hab einfach nur versucht durch eingabe von "hdparm --help" herauszufinden wie das schlaue ding funktioniert. sollte es wohl doch mal mit /sbin/hdparm usw... probieren

ThePsycho
2004-11-15, 11:39:02
das wird vermutlich keine besserung bringen

denn /sbin ist im pfad des benutzers root mit drin (sprich unbekannte befehle lösen ein suchen in /sbin aus)

"hdparm --help" war also schon richtig, evtl warst du nicht root?

ein rpm für mandrake sollte sich finden lassen, falls es tatsächlich nicht installiert ist - ich weiss aber leider nicht wo, da ich mich mit rpms nicht auskenne

edit: noch ne kleine warnung: optimiere mit hdparm nicht zu optimistisch! das kann sehr unangenehme nebenwirkungen mit sich bringen (-> datenverlust) - dma aktivieren (das sollte sicher sein) und der rest wird schon passen ;)

klutob
2004-11-15, 12:10:58
Du kannst auch noch im Kernellog nach dem verfügbarem DMA Status Ausschau halten.


dmesg | grep DMA


Wenn dein Chipsatz vom Kernel ordentlich unterstützt ist, einfach mal in der Kernelkonfig unter "Enable DMA default" nachschauen und aktivieren.

Simon
2004-11-15, 12:44:07
Hi,

was hast du denn für Netzwerkkarten? Anständige oder welche, wo alles über die CPU geht? Dann wärs auch kein Wunder und Samba kann da nix für.....

Corny
2004-11-15, 13:39:20
Hi,

was hast du denn für Netzwerkkarten? Anständige oder welche, wo alles über die CPU geht? Dann wärs auch kein Wunder und Samba kann da nix für.....


eine Intel 10/100 Managed Server oder so ähnlich - hab den namen nicht genau im kopf. Also an der liegt es mit sicherheit nicht.

fürs DSL ist eine billige Realtek 100Mbit karte eingebaut, die reicht dafür auch vollkommen und spielt hier eh keine rolle

Spartakus
2004-11-15, 18:15:45
ich komme auf 30-40mb/s egal ob samba oder ftp
dass es an den einstellungen liegt glaube ich aber nicht:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=16384
write raw = no
read raw = no

trotzdem könntests mal per ftp versuchen.

Was haste gleich nochmal für ein Netzwerk? Gigabit Ethernet?

(del676)
2004-11-15, 20:01:13
Was haste gleich nochmal für ein Netzwerk? Gigabit Ethernet?

ja

Corny
2004-11-15, 20:52:47
ich komme auf 30-40mb/s egal ob samba oder ftp
dass es an den einstellungen liegt glaube ich aber nicht:

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=16384
write raw = no
read raw = no

trotzdem könntests mal per ftp versuchen.



diese optionen haben leider nix gebracht.
Aber imho ist es beim browsen durch die Ordner etwas flotter geworden!

per FTP hab ichs grad auch versucht. da nimmt sich proftpd alle leistung die übrig ist. da kopiere ich mit ca 3MB/s. über Samba mit ca 4MB/s .

ich muss allerdings dazu sagen das auf dem Rechner grad noch Azureus und MLdonkey laufen. alleine dadurch hat er ca 60-70% Last. trotzdem müsste es kein problem für ihn sein ein 100Mbit Netzwerk zu bedienen. die Server bei mir @work haben teilweise nur dual PPro200 mit 512MB PS2-RAM und haben eine durchschnittliche last im File-Server betrieb von ca 10%.

DMA ist übrigens an!

an der HDD dürfte es nicht liegen, eine alte 20Gig platte kann normal gut und gerne 10-15MB/s liefern. Das festplatten lämpchen blinkt auch nur recht schnell, wenn ich aber 2 Dateien gleichzeitig ziehe leuchtets ununterbrochen. da wäre also scheinbar noch luft

Gast
2004-11-16, 10:52:34
d
ich muss allerdings dazu sagen das auf dem Rechner grad noch Azureus und MLdonkey laufen. alleine dadurch hat er ca 60-70% Last. trotzdem müsste es kein problem für ihn sein ein 100Mbit Netzwerk zu bedienen. die Server bei mir @work haben teilweise nur dual PPro200 mit 512MB PS2-RAM und haben eine durchschnittliche last im File-Server betrieb von ca 10%.


sorry was erwartest du von einem 300er celeron der schon zu 70% ausgelastet ist? nur daran liegt es.
und die dual pros sind doppelt so schnellt wie dein celeron

(del676)
2004-11-16, 11:03:50
iostat -k 10 100

dann sollte alle 10 sekunden ein report kommen, währen du kopierts lässt du das mal laufen und kopierst so 4-5 reports hier rein ;)

Gast
2004-11-16, 12:00:06
Nur mal nebenbei gefragt. Die 2 Programm die du nanntest, erzeugen 60-70% CPU-Last? Das sind sicher Netzwerk-Programme oder, d.h. sie greifen auf das Netz zu, oder?

Schon mal daran gedacht das dein PCI-Bus vielleicht erschöpft ist und er halt nicht noch mal 10MByte/s durchheizen kann?

Corny
2004-11-16, 16:43:17
Nur mal nebenbei gefragt. Die 2 Programm die du nanntest, erzeugen 60-70% CPU-Last? Das sind sicher Netzwerk-Programme oder, d.h. sie greifen auf das Netz zu, oder?

Schon mal daran gedacht das dein PCI-Bus vielleicht erschöpft ist und er halt nicht noch mal 10MByte/s durchheizen kann?


ich gehe mal davon aus du bist der gleiche gast wie eins weiter oben.

ja, es sind netzwerkprogramme. die beiden greifen aber übers DSL aufs internet zu. das macht max ca 0,1MByte/s. im Lan hätt ich gerne so die standard 6-7MB/s für ein 100MBit netz, dann wären wir bei allerhöchstens 8MB/s aufm PCI Bus.... sogar der ISA Bus kann 12,5MB/s!


die CPU müsste das genauso mit links machen. die Dual PPro 200 sind vielleicht etwas schneller (sicher nciht doppelt so schnell!) und haben bei viiielen benutzern nur ca 10% Last. für den Celeron ist das auch kein problem. meinst vor etwas über 5 Jahren konnte eine CPU nichtmal ein 100Mbit Netzwerk bedienen ohne dabei in die knie zu gehen?


@ Ulukay: ok, ich versuch das mal! bin grad nur noch @work

Corny
2004-11-16, 17:31:57
iostat -k 10 100

dann sollte alle 10 sekunden ein report kommen, währen du kopierts lässt du das mal laufen und kopierst so 4-5 reports hier rein ;)


den befehl kennt er nicht :(

ilPatrino
2004-11-16, 17:34:05
Azureus? ein torrent-client? würde ich über mldonkey machen (mache ich zumindest :biggrin: )

hast du mehrere platten? wieviel schaffst du beim kopieren unter linux (am besten von einer platte auf eine andere)?

lagert dein system in den swap aus?

same config here (400 cel, sonst gleich), mlnet macht 1..5% auslastung (meist <2) bei 60 mb speicherverbrauch. dabei laufen ~250 files gleichzeitig, bei momentan 80kb/sec. download (@tdsl1000)

samba schafft hier fast die gleichen raten wie beim kopieren von einer platte auf eine andere - 10..12mb/s. mehr ist mit den alten boards kaum drin...

hast du eine graphische oberfläche installiert?

Corny
2004-11-16, 18:15:56
torrent mit mldonkey muss ich mir bei gelegenheit nochmal anschauen. bei meiner alten installation hab ichs mal versucht, aber da gings nicht. imho wegen falsch eingestellten IP-Tables. Deshalb ging da auch der donkey nur lahm.

wegen Azureus hab ich auch eine GUI drauf, und zwar läuft ICE-WM

geswappt wird auch, momentan laut "top" ca 54MB, aber er scheint nicht drauf zuzugreifen. sind wohl nur sachen die er nicht braucht.

habe leider auch nur die eine platte eingebaut, deshalb kann ich das mit dem kopieren nicht probieren.

Merlin-TC
2004-11-21, 07:22:11
Gibt dmesg irgendwas aus was brauchbar waere?
Und da du ja den XServer drauf hast koenntest du auch einfach mal gkrellm2 drauf machen da kann man oft sehr schoen sehen wo das Problem liegt.
Da koenntest du den ausgehenden und eingehenden Traffic sowie den Plattenzugriff etc. in einer Statistik verfolgen.