Samba langsam!

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Samba langsam!

Beitrag von meister_ede » 20.10.2002 13:38:55

Hi Leute!

Auf meinem Woody-Router - PI-MMX-166MHz, 64MB RAM - läuft auch ein SAMBA-Server. Die Maschine macht die großen Downloads aus dem Internet für mich und stellt die runtergeladenen Dateien dann in einem Share für meinen Win-XP-Client zur Verfügung. Will ich mir dann die Dateien auf den Client ziehen, komm ich nur auf sehr geringe Transferraten . Dann hab ich ein paar "Tuning-Parameter" in smb.conf eingefügt:
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
level2 oplocks = true

Etwas besser, aber trotzdem nur 2-3 MBit/s. Das ist mir zu wenig ;-). Außerdem ist die Auslastung der CPU für die Samba-Prozesse selten über 5%. Da muß doch noch was gehen, oder.
Danke schonmal für Eure Hilfe.

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 20.10.2002 17:18:24

Ich bekomme mit einem absoluten Standard Samba (Linux zu Linux) und smblient ca. 60 MBit/s auf einem 100MBit/s halbduplex Link (Hub dazwischen).

Von Windows aus kann ich leider nicht testen (ich habe kein Windows), aber da sollten ähnliche Raten möglich sein.

Was für eine Netzwerkkarte steckt in dem Router (ISA/PCI/10MBit/100MBit usw.)?
Ist ein Hub oder Switch dazwischen?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
abi
Beiträge: 2218
Registriert: 20.12.2001 19:42:56
Wohnort: München
Kontaktdaten:

Beitrag von abi » 20.10.2002 20:36:23

kriegst du nur über Samba so geringe übertragungsraten oder kann es sein dass irgendwo eine Signalstörung vorliegt ? (kaputtes Kabel, zu weit geknickt oder so ...?)

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 21.10.2002 21:23:53

Das Netzwerk ist OK. Ich habs mit meinem Notebook getestet (also beide Hosts WinXP). Ich krieg so etwa meine 100 MBit/s.
Ich setze einen Switch 10/100Mbit ein.

Die Netzwerkkarten im Linux-Router sind auch 10/100MBit (PCI). ABER vielleicht fährt der ja nur mit 10 MBit??? Wo kann ich den Übertragungsmodus auf 100MBit FD festlegen.

Sonst noch einen Plan???

Benutzeravatar
rahab
Beiträge: 165
Registriert: 24.09.2002 12:04:05

Beitrag von rahab » 23.10.2002 16:30:03

@meister ede:

Mein Debian-Rechner sollte eigentlich genau das tun, was deiner auch macht.
Für meinen XP-Client ein share zur Verfügung stellen in dem die 'incomings' liegen.

Leider bekomme ich den Zugriff zwischen XP-Rechner und Samba-Server partout nicht hin. Ich nehme an es liegt am Authentisierungs-Typ und der Security Einstellung, hab aber eigentlich schon alles durchgetestet...
:x

Es wäre mir daher evtl. eine gut Hilfe, wenn Du mal Deine smb.conf posten könntest, natürlich nur, wenn es dir nichts ausmacht. :roll:


schonmal Danke im Voraus

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 23.10.2002 22:21:29

Klingt als hättest Du auch den Esel auf Deiner Maschine laufen ;-)

Unten meine smb.conf.

Du mußt dann aber auch noch mit Deiner /etc/smbpasswd arbeiten. Die speichert die Kennworte für die Benutzer, die auf Shares zugreifen sollen. Der Befehl smbpasswd wird verwendet, um die Passworte fest zu legen. Check auf jeden Fall "man smbpasswd" und die docs unter /usr/doc/samba(-doc)

#
# Sample configuration file for the Samba suite for Debian GNU/Linux.

[global]

# Change this for the workgroup/NT-domain name your Samba server will part of
workgroup = ARBEITSGRUPPE

# server string is the equivalent of the NT Description field
server string = %h

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
; load printers = yes

# You may wish to override the location of the printcap file
; printcap name = /etc/printcap

# 'printing = cups' works nicely
; printing = bsd

; guest account = nobody
invalid users = root

# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m

# Put a capping on the size of the log files (in Kb).
max log size = 1000

# If you want Samba to log though syslog only then set the following
# parameter to 'yes'. Please note that logging through syslog in
# Samba is still experimental.
; syslog only = no

# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smb,nmb} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# security_level.txt for details.
security = user

# You may wish to use password encryption. Please read ENCRYPTION.txt,
# Win95.txt and WinNT.txt in the Samba documentation. Do not enable this
# option unless you have read those documents
encrypt passwords = true

# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m

# Most people will find that this option gives better performance.
# See speed.txt and the manual pages for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
# socket options = TCP_NODELAY

#Wir tunen...
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
level2 oplocks = true

# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no

# What naming service and in what order should we use to resolve host names
# to IP addresses
; name resolve order = lmhosts host wins bcast

# Name mangling options
; preserve case = yes
; short preserve case = yes

# This boolean parameter controlls whether Samba attempts to sync. the Unix
# password with the SMB password when the encrypted SMB password in the
# /etc/samba/smbpasswd file is changed.
; unix password sync = false

# For Unix password sync. to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Augustin Luton <aluton@hybrigenics.fr> for
# sending the correct chat script for the passwd program in Debian Potato).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .

# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# 'passwd program'. The default is 'no'.
; pam password change = no

# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &

obey pam restrictions = yes

# Some defaults for winbind (make sure you're not using the ranges
# for something else.)
; winbind uid = 10000-20000
; winbind gid = 10000-20000
; template shell = /bin/bash

#======================= Share Definitions =======================

#[homes]
# comment = Home Directories
# browseable = no

# By default, the home directories are exported read-only. Change next
# parameter to 'yes' if you want to be able to write to them.
writable = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700

#Mein Share
[keller]
comment = Die Store Partition auf dem Router
writable = yes
locking = yes
path = /store
# public = yes

Benutzeravatar
rahab
Beiträge: 165
Registriert: 24.09.2002 12:04:05

Beitrag von rahab » 23.10.2002 23:11:14

Super !

Danke erstmal, jetzt kann ich wieder ne Runde fummeln :D

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 24.10.2002 19:46:16

Tach!

Meine NIC die das LAN versorgt, läuft eindeutig mit 100BaseTX FullDuplex. Das habe ich mit den nictools-pci herausgefunden.

Ich habe einen Datentransfer über proFTP versucht. Selbes Ergebnis: Kaum CPU-Auslastung , nur 2-3 MBit Übertragungsrate. Die Firewall ist in meinen Tests deaktiviert.
Das Problem ist also wohl beim Netzwerk der Linux-Maschine allgemein und nicht Samba-spezifisch!

Woran kann das nur liegen, Leute? Kann man irgentwo Bandbreitenbeschränkungen einstellen? Das wäre mein letzter Plan...

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 24.10.2002 19:52:36

Ja, man kann BW Limiting machen, aber das kann man nicht aus Versehen aktivieren, und Debian macht sowas auch nicht per Default.

Mach einmal in einem Terminal ein "top" und in einem anderen machst Du einen grossen Transfer. Wieviel CPU Last verursacht das (auf beiden Rechnern)? Teilt sich der NIC vielleicht einen Interrupt mit einer anderen Karte? Irgendwelche Meldungen bei "dmesg"? Was für NICs hast Du denn genau? Blinkt am Switch die Collision Lampe?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 25.10.2002 16:34:28

1) Meine NICs (beide PCI):
3Com 509B (Vortex) -> LAN
Billig-Karte mit RTL8139-Chip -> DSL-Modem


2) Kollisionen zeigt mein billiger Switch nicht an, aber die Traffic-LEDs blicken schön syncron.


3) Die LAN-NIC scheint sich IRQ 12 mit dem USB-Controller zu teilen. lspci -v bestätigt das. USB-Geräte verwende ich allerdings nicht, der Controller sollte also nicht viel zu tun haben.
Auszug aus /var/log/dmesg:

PCI: Found IRQ 12 for device 00:09.0 (Anm.: die 3c905B )
PCI: Sharing IRQ 12 with 00:01.2 (Anm.: der USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01))
3c59x: Donald Becker and others. http://www.scyld.com/network/vortex.html
00:09.0: 3Com PCI 3c905B Cyclone 100baseTx at 0xd400. Vers LK1.1.16
PCI: Setting latency timer of device 00:09.0 to 64
8139too Fast Ethernet driver 0.9.24
PCI: Found IRQ 10 for device 00:0a.0
PCI: Setting latency timer of device 00:0a.0 to 64
eth1: RealTek RTL8139 Fast Ethernet at 0xc4802000, 00:e0:7d:c5:60:b8, IRQ 10
eth1: Identified 8139 chip type 'RTL-8139C'




4) Ein shot von der Top-Ausgabe wärend eines großen Filetransfers:

15:49:40 up 25 days, 22:56, 1 user, load average: 0.21, 0.14, 0.04
36 processes: 33 sleeping, 3 running, 0 zombie, 0 stopped
CPU states: 1.0% user, 13.2% system, 0.0% nice, 85.8% idle
Mem: 62236K total, 60364K used, 1872K free, 756K buffers
Swap: 124988K total, 10228K used, 114760K free, 36648K cached

PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
31301 peter 19 0 2032 1764 1284 S 6.3 2.8 0:16 smbd
31311 root 15 0 940 940 748 R 1.3 1.5 0:01 top
31063 root 12 0 476 476 404 R 0.9 0.7 3:42 pppoe
31307 root 9 0 1816 1784 1516 R 0.1 2.8 0:00 sshd
1 root 8 0 460 420 400 S 0.0 0.6 0:03 init
2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd
usw.

Der Client der die Dateien vom Router zieht ist ein 800MHz WinXP und beim Transfer nicht spürbar belastet.

5) Ich verwende einen selbstgebauten 2.4-Kernel.

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Neue Fakten

Beitrag von meister_ede » 03.11.2002 11:48:54

Hallo mal wieder,

ich habe versucht, den Mediatyp meiner Netzwerkkarte mal mit mii-tool zu bearbeiten, jedoch ohne Erfolg. Das Prog zeigt nur "no link", obwohl eindeutig auf beiden NICs Traffic herscht. Die LAN-NIC fährt jetzt aber nur noch mit 10MBit. Das kann ich an den LEDs am Switch erkennen und mit den nic-tools-pci. Das war vorher, wie oben gesagt, aber bei 100MBit.
An der miesen Transferrate von Router zu Client (2-3 MBit) ändert sich aber nix.

Kann mir jemand sagen, warum mii-tool bei meiner NIC 3c509B nicht funzt? Ich bin sicher, dass das Problem beim Mediatyp liegt oder der auto-negotiation.
Das Beeinflussen des Mediatyps über die Bootparameter ("ether=...") hat auch nicht funktioniert. Der Treiber ist fest im Kernel..

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

DIE LÖSUNG:

Beitrag von meister_ede » 20.04.2003 17:35:12

Für alle Interessierten hier DIE LÖSUNG:

Die 3Com-Karte fürs LAN war Hardwareseitig auf 100MBit VD eingestellt, nicht auf "auto". Diese Einstellung kann man nur mit einem speziellen 3Com-Tool für DOS vornehmen.
Mit Mediatyp "auto" lauft jetzt alles viel schneller!
Die ausgegebenen Informationen von vortex-diag und mii-tool waren falsch!

Juvi
Beiträge: 8
Registriert: 11.03.2003 21:23:12

Beitrag von Juvi » 21.04.2003 19:14:30

Kannst du mal schreiben wo es das Tool gibt? Vielleicht geht das ja auch mit meiner 3 com Karte. Hab da dei selben Probleme.

Danke Juv

Benutzeravatar
meister_ede
Beiträge: 71
Registriert: 16.08.2002 18:46:28
Kontaktdaten:

Beitrag von meister_ede » 22.04.2003 16:12:16

Bedenke: Die Tools sind NIC-Spezifisch und für DOS. In meinem Fall mit der 3c509B mußte ich im BIOS auch noch PnP-OS auf "No" setzen, damit das Tool die Karte findet. Ist aber nicht bei jeder Karte nötig, also lies die README, die beim Tool dabei ist.

Die Tools heissen "DOS oder GUI Diagnostics"

Für alle 3COM-Produkte:
http://support.3com.com/infodeli/tools/nic/

Für die 3c509B:
ftp://ftp.3com.com/pub/nic/3c90x/3c90xn2.exe

Antworten