????????????I/O???????θ???Linux??????????????????????????????????????????????????????????£???????????????I/O??????治?????????????????I/O????????????????????????????????????HBA????CPU??MEM?????????????????????????????????????????????I/O????????????????????????????????????????????

????1??Disk??????????

????2??????????????????

????3???????????(mount)????????

???????????????????????????????????????????????????????????????????SAS(Serial attached SCSI)???????EXT3??????????????Linux??????????????????????????????????????????????????????

????1??Disk??????

????1.1 Cache mode:????WCE=1(Write Cache Enable)?? RCD=0(Read Cache Disable)??

????sdparm -s WCE=1?? RCD=0 -S /dev/sdb

????1.2 Linux I/O scheduler??

??????????飬????????????£?deadline????????squidI/O??????и?????????????????????noop(fifo)?? as?? cfq??noop??????SAN/RAID?洢????as??????????????д??

????cfq??????????á?

????echo deadline > /sys/block/sdb/queue/scheduler

????1.3 deadline???????

????????redhat linux???? read_expire = 1/2 write_expire??????????????С???I/O?????????????????С?????????????????????????????

????echo 500 > /sys/block/sdb/queue/iosched/read_expire

????echo 1000 > /sys/block/sdb/queue/iosched/write_expire

????1.4 readahead ?????????

??????????????????????Ч??Σ??????????????Ч????????????????????????????????????????????????256??????????????

????blockdev --setra 256 /dev/sdb

????2??EXT3?????????

????2.1 block size = 4096 (4KB)

????mkfs.ext3 -b???????????????????????????????I/O?????EXT3????????С?????1KB??2KB??4KB??