[Samba] Performance Issues with GBit LAN

Steffen Timmermann STEX20 at inetmx.de
Wed Oct 13 11:08:53 GMT 2004

Dimitar Vassilev wrote:

>Read the links and adjust your values accordingly. I haven't been able to
>implement all options, but I have a similar problem on 10/100mbit net with
>slack 10/2.6.8 kernel. The tips on netbios over tcp and computer browser
>given me by my net admin. The rest I googled and wrote down. Hope it helps.
>Please tell how it works.
>Dimitar Vassilev

I adjusted the settings, and i got a plus in performance of 1 MB so i get a
download of 9-10 MB now. But not what i expected. Anyway: thanks for your
help, it gave me a great insight in the configuration of the samba Server.

If i should Cc: you in the following mails, please let me know.


Steffen Timmermann

Tom Hibbert wrote:

>Hi Steffen
>Looking at the configuration of the server PC, you have a Realtek
>network card and an unspecified RAID card on a P2 300. I'm guessing that
>the machine is based on an LX or BX chipset with PC66 or PC100 ram.

I looked it up and it's an ASUS P2B-LS Motherboard with the 440BX Chipset.

>You have 66mhz bandwidth to play with in the PCI bus. You also have
>66mhz FSB thanks to the PII 300 CPU. All the benchmarking you have done
>(both Iperf and hdparm) both test the two subsystems individually, not
>together. My initial guess is that your PCI bus and/or CPU cannot drive
>this system at its full potential. Look at the load average on the
>server during transfer.

The average loads are 0.23, 0.22, 0.12

I don't know what it means exactly, but i get them out of "top" during

>Secondly you are running Redhat 9 with a Realtek 8169. There were a
>number of issues with the stock Redhat 9 kernel versus a Realtek 8169,
>see here
>1&highlight=8169. In fact these users are reporting only 8-10mb
>throughput which is exactly what you are describing.

I have tested the machine with Suse 8.2 before, but there's the same
problem. Maybe because the Kernel version is almost the same? (2.4.20)

>My advice to you is to roll a custom kernel for your system

I have once compiled a new kernel on another machine, but i'm not familiar
with it. Please tell me the commands i have to run for this.

>for Pentium 2, raid and network drivers built into kernel instead of

At the Moment they're both modules [r8169.o (version 2.2 from realtek site)
and the raidcontroller (which is an ITE 8212)]

>Then perform a proper hard disk benchmark using Bonnie++ so
>you know what the disks are truly capable of (hdparm -t doesn't cut it
>in this respect).

I've done it. Here are the results:

On /dev/sda:

[root at hdd bonnie]# ./Bonnie
File './Bonnie.1938', size: 104857600
Writing with putc()...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              -------Sequential Output-------- ---Sequential
Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per
Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec
          100  2419 99.2 42898 85.5 58114 98.2  2378 99.5 154956 99.9 7765.2
[root at hdd bonnie]#

On /dev/sdb:

[root at hdd bonnie]# ./Bonnie
File './Bonnie.1926', size: 104857600
Writing with putc()...done
Writing intelligently...done
Reading with getc()...done
Reading intelligently...done
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              -------Sequential Output-------- ---Sequential
Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per
Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec
          100  2259 99.6 27232 99.5 60478 93.3  2382 99.6 154711 101.2
7958.0 99.5
[root at hdd bonnie]#

As I see, there is almost 100% CPU Used when the Program reads/writes
from/to the Harddisks. In this case, do you think upgrading the System to an
700 Mhz Celeron will bring more Performance? When I want to do so, i must
ensure that the data on the RAID isn't lost while transferring the harddisks
and the controller to the other PC, because it's too much to transfer on the
2nd PC. (By the Way: Do you know if the Data on the disks is lost when i
transfer the raid out of the one machine into another?)

>Then I would compare the difference between throughput serving from both
>your SCSI disk (sda) and RAID array with the benchmark data given by
>bonnie++. This may reveal a CPU or FSB bottleneck.
>Good luck and thanks

Additional information about the System: This is the dmesg output:

[root at hdd root]# dmesg
Linux version 2.4.20-8 (bhcompile at porky.devel.redhat.com) (gcc version 3.2.2
20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fffd000 (usable)
 BIOS-e820: 000000000fffd000 - 000000000ffff000 (ACPI data)
 BIOS-e820: 000000000ffff000 - 0000000010000000 (ACPI NVS)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
255MB LOWMEM available.
On node 0 totalpages: 65533
zone(0): 4096 pages.
zone(1): 61437 pages.
zone(2): 0 pages.
Kernel command line: auto BOOT_IMAGE=linux ro
BOOT_FILE=/boot/vmlinuz-2.4.20-8 root=LABEL=/
Initializing CPU#0
Detected 300.686 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 599.65 BogoMIPS
Memory: 252844k/262132k available (1347k kernel code, 6856k reserved, 999k
data, 132k init, 0k highmem)
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0080f9ff 00000000 00000000 00000000
CPU:             Common caps: 0080f9ff 00000000 00000000 00000000
CPU: Intel Pentium II (Klamath) stepping 04
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch at atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xf0550, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router PIIX [8086/7110] at 00:04.0
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x0b (Driver version 1.16)
Starting kswapd
VFS: Disk quotas vdquot_6.5.1
pty: 2048 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
NET4: Frame Diverter 0.46
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 00:04.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:pio, hdd:pio
hda: CDA66801I, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide-floppy driver 0.99.newide
ide-floppy driver 0.99.newide
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
RAMDISK: Compressed image found at block 0
Freeing initrd memory: 295k freed
VFS: Mounted root (ext2 filesystem).
SCSI subsystem driver Revision: 1.00
PCI: Found IRQ 9 for device 00:06.0
PCI: Sharing IRQ 9 with 00:04.2
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.8
        <Adaptec aic7890/91 Ultra2 SCSI adapter>
        aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs

blk: queue c1aca814, I/O limit 4095Mb (mask 0xffffffff)
  Vendor: IBM       Model: DDRS-34560W       Rev: S71D
  Type:   Direct-Access                      ANSI SCSI revision: 02
blk: queue c1acaa14, I/O limit 4095Mb (mask 0xffffffff)
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
(scsi0:A:0): 40.000MB/s transfers (20.000MHz, offset 15, 16bit)
SCSI device sda: 8925000 512-byte hdwr sectors (4570 MB)
Partition check:
 sda: sda1 sda2 < sda5 >
Journalled Block Device driver loaded
iteraid_init: Found Controller: IT8212 UDMA/ATA133 RAID Controller
IssueIdentify: Checking for IDE. Status (50)
FindDevices: Device 0 is IDE
Channel[0] BM-DMA at 0xA400-0xA407
Channel[1] BM-DMA at 0xA408-0xA40F
scsi1 : RAIDExpress133
  Vendor: ITE       Model: IT8212X           Rev: 1.3
  Type:   Direct-Access                      ANSI SCSI revision: 00
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
SCSI device sdb: 781443840 512-byte hdwr sectors (400099 MB)
 sdb: sdb1 sdb2 sdb3
divert: allocating divert_blk for eth0
PCI: Found IRQ 11 for device 00:0c.0
divert: allocating divert_blk for eth0
divert: freeing divert_blk for eth0
eth0: Identified chip type is 'RTL8169s/8110s'.
eth0: RTL8169s/8110s Gigabit Ethernet driver 2.2 at 0x9800,
00:40:f4:a8:2e:5a, IRQ 11
eth0: Auto-negotiation Enabled.
eth0: 1000Mbps Full-duplex operation.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
Freeing unused kernel memory: 132k freed
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 17:59:01 Mar 13 2003
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 9 for device 00:04.2
PCI: Sharing IRQ 9 with 00:06.0
usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 9
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech at suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
EXT3 FS 2.4-0.9.19, 19 August 2002 on sd(8,1), internal journal
Adding Swap: 1100412k swap-space (priority -1)
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
parport0: irq 7 detected
ip_tables: (C) 2000-2002 Netfilter core team
ip_tables: (C) 2000-2002 Netfilter core team
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE,EPP]
parport0: irq 7 detected
lp0: using parport0 (polling).
lp0: console ready

Thanks for your Reply.


Steffen Timmermann

More information about the samba mailing list