[Wlug] large file performance on linux

brad noyes maitre at ccs.neu.edu
Wed May 16 15:19:45 EDT 2007


On Wed, May 16, 2007 at 02:40:38PM -0400, Jeff Moyer wrote:
> ==> On Wed, 16 May 2007 12:59:54 -0400, Jeff Moyer <jmoyer at redhat.com> said:
> 
> Jeff> Look under /proc/sys/vm.  Documentation for these variables might be
> Jeff> in Documentation/filesystems/proc.txt (it's not always up-to-date).
> Jeff> But, as I said, I don't think this is the right avenue to explore.
> Jeff> You can get more predictable results by using AIO+O_DIRECT (or maybe
> Jeff> even O_SYNC as another mentioned).
> 
> One other thing worth mentioning is that you should be doing I/O in
> large block sizes.  What size are you currently using for your write
> buffers?
> 
i'm writing in 16777216 byte chunks. That happens to be evenly divisible by 512
for the O_DIRECT flag. However every time i try to use that flag the file gets
created, but nothing gets written. I've been looking online for an example.

I don't know if this means anything, but i ran 
  hdparm -T /dev/sdb1
    Timing cached reads: 1369MB in 2.00 seconds == 698.14MB/sec
  hdparm -T --direct /dev/sdb1
    Timing O_DIRECT cached reads: 136 in 2.00 seconds == 66.54MB/sec


It really seems that 53MB/s shouldn't be hard. I have fairly heavy hardware, 
scsi320 in a raid1 configuration. 

 -- Brad


More information about the Wlug mailing list