Okay, I've been chasing performance for a while now. I have no idea if I should be trying to get better performance or if I'm getting all I can out of my hardware. Here is the information: /sbin/hdparm -I /dev/hdd /dev/hdd: ATA device, with non-removable media Model Number: ST328040A Serial Number: 7BY034XB Firmware Revision: 3.07 Standards: Supported: 4 3 2 1 Likely used: 5 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 55704096 device size with M = 1024*1024: 27199 MBytes Capabilities: LBA, IORDY(can be disabled) Buffer size: 512.0kB Queue depth: 1 Standby timer values: spec'd by Standard R/W multiple sector transfer: Max = 16 Current = 16 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=240ns IORDY flow control=120ns Commands/features: Enabled Supported: * READ BUFFER cmd * WRITE BUFFER cmd * Look-ahead * Write cache * Power Management feature set * SMART feature set * DOWNLOAD MICROCODE cmd HW reset results: CBLID- above Vih Device num = 1 /sbin/hdparm -Tt /dev/hdd /dev/hdd: Timing buffer-cache reads: 128 MB in 0.95 seconds =134.74 MB/sec Timing buffered disk reads: 64 MB in 2.43 seconds = 26.34 MB/sec /sbin/hdparm /dev/hdd /dev/hdd: multcount = 16 (on) IO_support = 1 (32-bit) unmaskirq = 1 (on) using_dma = 1 (on) keepsettings = 0 (off) readonly = 0 (off) readahead = 8 (on) geometry = 3684/240/63, sectors = 55704096, start = 0 /etc/samba/smb.conf socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 I'm running Redhat 8.0 using a custom built 2.4.20 kernel. The drive referenced above is a Seagate 7200rpm UDMA-33 IDE hard drive. I did a 2GB copy from Linux to a Windows98SE machine using Samba. I got 5.85MB/sec. I did the same copy on a Windows XP machine and got 6.99MB/sec. Then I copied from hdd to hdc and got 6.94MB/sec. (same channel) Then I copied from hdd to hdb and got 9.30MB/sec. (different channel) It seems to me that I should be able to get close to the 9.30MB/sec when transfering over the network. Still 9.3MB/sec is no where near the 26MB/sec hdparm is reporting... I'm on a 100Mb switch and I'm using 3Com 905TX NICs in both the workstation and the server. I guess the best my network can put out is 12MB/sec. I was hoping to get around 10MB/sec with Samba. Is this unreasonable???
On Fri, 14 Mar 2003, aragonx wrote:> Okay, I've been chasing performance for a while now. I have no idea if I > should be trying to get better performance or if I'm getting all I can out > of my hardware. Here is the information: > > /sbin/hdparm -I /dev/hdd > > /dev/hdd: > > ATA device, with non-removable media > Model Number: ST328040A > Serial Number: 7BY034XB > Firmware Revision: 3.07 > Standards: > Supported: 4 3 2 1 > Likely used: 5 > Configuration: > Logical max current > cylinders 16383 16383 > heads 16 16 > sectors/track 63 63 > -- > CHS current addressable sectors: 16514064 > LBA user addressable sectors: 55704096 > device size with M = 1024*1024: 27199 MBytes > Capabilities: > LBA, IORDY(can be disabled) > Buffer size: 512.0kB Queue depth: 1 > Standby timer values: spec'd by Standard > R/W multiple sector transfer: Max = 16 Current = 16 > DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 > Cycle time: min=120ns recommended=120ns > PIO: pio0 pio1 pio2 pio3 pio4 > Cycle time: no flow control=240ns IORDY flow control=120ns > Commands/features: > Enabled Supported: > * READ BUFFER cmd > * WRITE BUFFER cmd > * Look-ahead > * Write cache > * Power Management feature set > * SMART feature set > * DOWNLOAD MICROCODE cmd > HW reset results: > CBLID- above Vih > Device num = 1 > > > /sbin/hdparm -Tt /dev/hdd > > /dev/hdd: > Timing buffer-cache reads: 128 MB in 0.95 seconds =134.74 MB/sec > Timing buffered disk reads: 64 MB in 2.43 seconds = 26.34 MB/secThis appears to be measuring cache performance - not disk I/O performance. Check the drive specifications. Probably more like 35MB/sec sustainable write rate.> > /sbin/hdparm /dev/hdd > > /dev/hdd: > multcount = 16 (on) > IO_support = 1 (32-bit) > unmaskirq = 1 (on) > using_dma = 1 (on) > keepsettings = 0 (off) > readonly = 0 (off) > readahead = 8 (on) > geometry = 3684/240/63, sectors = 55704096, start = 0 > > /etc/samba/smb.conf > > socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 > SO_SNDBUF=8192Did you check the impact of increasinf the SO_RECVBUF and SO_SNDBUF to 128KByte?> > I'm running Redhat 8.0 using a custom built 2.4.20 kernel. The drive > referenced above is a Seagate 7200rpm UDMA-33 IDE hard drive. > > > > I did a 2GB copy from > > Linux to a Windows98SE machine using Samba. I got 5.85MB/sec. > > I did the same copy on a Windows XP machine and got 6.99MB/sec. > > Then I copied from hdd to hdc and got 6.94MB/sec. (same channel) > > Then I copied from hdd to hdb and got 9.30MB/sec. (different channel) > > It seems to me that I should be able to get close to the 9.30MB/sec when > transfering over the network. > > Still 9.3MB/sec is no where near the 26MB/sec hdparm is reporting... > > I'm on a 100Mb switch and I'm using 3Com 905TX NICs in both the workstation > and the server.An 100MB/s == 11 megabytes/sec at peak I/O and no network contention. Copared with that 9.3 megabytes/sec is VERY good!> > I guess the best my network can put out is 12MB/sec. I was hoping to get > around 10MB/sec with Samba. Is this unreasonable???No - not reasonable. You have IP stack, a TCP stack, then buffering from the kernel to samba's smbd with is user space, then I/O back to the kernel and ultimately to the Disk subsystem. Lot's of overhead in other words. You did well over 100Mbit ethernet! What file system? ext2, ext3, reiserfs, xfs, jfs???? Even that makes a hugh difference. - John T. -- John H Terpstra Email: jht@samba.org
> -----Original Message----- > From: Matthew Daubenspeck [mailto:matt@oddprocess.org]> Should ext2 perform better then ext3?Yes. Less overhead on writes. I don't believe there should be any difference on reads, though. It gets impractical on large drives, of course, because an fsck takes forever. I've heard good things about reiserfs on samba shares, lately. I'd probably have gone with that had it been more common when I set up my server. It'd be hard to switch now, though, because there's no direct conversion like there is from ext2 to ext3.
On Fri, 14 Mar 2003, Matthew Daubenspeck wrote:> On Fri, Mar 14, 2003 at 06:49:07PM +0000, John H Terpstra wrote: > > > All my server file systems are ext3. > > > > Good results then. Try ext2fs. > > Should ext2 perform better then ext3?Try it! Simple enough to answer this question - try it. - John T. -- John H Terpstra Email: jht@samba.org
John H Terpstra <jht@samba.org> wrote in news:Pine.LNX.4.50.0303142129240.5995-100000@dp.samba.org:> On Fri, 14 Mar 2003, Matthew Daubenspeck wrote: > >> On Fri, Mar 14, 2003 at 06:49:07PM +0000, John H Terpstra wrote: >> > > All my server file systems are ext3. >> > >> > Good results then. Try ext2fs. >> >> Should ext2 perform better then ext3? > > Try it! Simple enough to answer this question - try it.You can simply mount an ext3 partition as ext2 right?