Skip to contentSkip to conversation

LSI 53c1030 (Fusion MPT) performance with O_SYNC

DISCUSSION Jan Oravec 2 participants 3 messages Jul 29, 2004

lore
Share & tools
lore

Jan Oravec

author
#0 lore raw

Hi,

I have got a new dual-Opteron server based on Tyan S2880 motherboard with LSI53C1030 U320 controller onboard - there are 15kRPM Fujitsu disks.

I've noticed poor performance with MySQL/InnoDB when compared to another S2880-based box with IDE disks.

I've tracked it to this:

Let's have this code (notice the O_SYNC) and enough large test file.

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc, void **argv)
{
char buffer[64];
int fd, i;

  fd=open(argv[1], O_WRONLY|O_SYNC);
  
  lseek(fd, 0, SEEK_SET);
  for(i=0; i<10000; i++)
    write(fd, buffer, 64);

return 0;
}

The results are:

LSI53C1030:

$ time ./a.out testfile 
real    0m4.218s
user    0m0.002s
sys     0m0.219s

IDE:

$ time ./a.out testfile 
real    0m1.767s
user    0m0.002s
sys     0m0.356s

Changing size of written amount of data to 4096 the time ratio between LSI53C1030 and IDE is around 1:1.

Both boxes are running vanilla 2.6.7 kernel.

Any help appreciated,

Jan

PS: please CC, I am not on the list.

#1 lore raw
Quoted 2 lines · Jan Oravec

I've noticed poor performance with MySQL/InnoDB when compared to another S2880-based box with IDE disks.

your ide disk probably has write back caching enabled while your mptfusion doesn't..... if you value data integrity over performance the mptfusion has a saner default ;)

author
#2 lore raw
Quoted 8 lines · Arjan van de Ven
Quoted 2 lines · Jan Oravec

I've noticed poor performance with MySQL/InnoDB when compared to another S2880-based box with IDE disks.

your ide disk probably has write back caching enabled while your mptfusion doesn't..... if you value data integrity over performance the mptfusion has a saner default ;)

It was enabled:

# sginfo -c /dev/sda
Caching mode page (0x8)
-----------------------
Initiator Control                  0
ABPF                               0
CAP                                0
DISC                               1
SIZE                               0
Write Cache Enabled                1
MF                                 0
Read Cache Disabled                0
Demand Read Retention Priority     0
Demand Write Retention Priority    0
Disable Pre-fetch Transfer Length  65535
Minimum Pre-fetch                  0
Maximum Pre-fetch                  0
Maximum Pre-fetch Ceiling          65535
FSW                                1
LBCSS                              0
DRA                                0
Number of Cache Segments           8
Cache Segment size                 0
Non-Cache Segment size             0

When I've disabled it on both mptfusion and IDE, it took 40s on mpt and 83s on IDE.

It seems like write-cache is not as effective on mptfusion as it is on IDE?

I am considering plugging there a ZCR with battery, so write-cache has a sense for me.

Jan