系统调优之三IO子系统调优

IO子系统调优

dmidecode  -t processor | grep Socket (物理cpu个数)

dmidecode | grep Size | grep MB  (物理内存大小)

dmidecode | grep Size | grep MB | wc -l (物理内存个数)

 vmstat,iostat,sar

 IO , 输入输出
 IOPS
  10k , 120-150 IOPS
  15k , 150-200 IOPS

 每个IO完成的数据量


# vmstat 2
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0  54108  11540 1609012    0    0   183  1018 1160 1629 16  9 70  5  0
 1  0      0  54108  11544 1609060    0    0     0     0 3057 3787 24 14 62  0  0
 1  0      0  54140  11552 1609052    0    0     0    28 3169 4098 22 15 63  0  0

bi
bo
wa


# iostat -x 2

# iostat -d 2 /dev/sda2
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda2             17.75       574.41      3247.34     577234    3263312

 Blk_read/s 每秒钟读取了多少扇区的数据 ,一扇区=512字节
 tps 每秒钟完成了多少个IO(读和写加起来)


# iostat -dk 2 /dev/sda6

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6            353.00         2.00     70618.00          4     141236

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6            355.00         2.00     70892.00          4     141784

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6            348.50         2.00     69822.00          4     139644

 

# iostat -xk 2 /dev/sda6

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s    
sda6              0.00 16660.00  0.50 341.50     2.00 68236.00   


avgrq-sz avgqu-sz  await  svctm  %util
399.05     1.10    3.23   2.47  84.55

r/s 每秒钟完成了多少个读IO
w/s 每秒钟完成了多少个写IO

avgrq-sz 平均每秒钟完成多少扇区数据的传输(读+写) 

avgqu-sz IO的平均队列长度

await  IO请求在队列中等待的时间+服务时间(操作完需要数据),单位毫秒

svctm  服务时间 ,单位毫秒

%util  越接近100,就说明利用率越高。有些时候发现超过100,这是四舍五入导致

思考:sda6设备平均 读IOPS, 写IOPS ,每个IO读取多少数据, 每个IO写入多少数据

每个IO写入多少数据= wkB/s  /  w/s = 200kb

 

文件系统的优化:
 选择性能更好的文件系统: ext4,xfs,zfs
 格式化的时候选择适当参数:块大小
  根据存放的文件的平均大小来决定,默认块大小
  # dumpe2fs -h /dev/sda1
  Block size:               1024

 mkfs.ext3 -b 4096 /dev/sda1

 web服务等对时间不太重要,可以取消访问时间更新
  mount -o noatime .... ....

 内核读取设备的调度算法:

# cat /sys/block/sda/queue/scheduler 
noop anticipatory deadline [cfq]

# echo "deadline" > /sys/block/sda/queue/scheduler

# vim grub.conf
...
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/1 rhgb quiet elevator=deadline
...

 

你可能感兴趣的:(IO子系统调优)