系统调优之三IO子系统调优
IO子系统调优
dmidecode-tprocessor|grepSocket(物理cpu个数)
dmidecode|grepSize|grepMB(物理内存大小)
dmidecode|grepSize|grepMB|wc-l(物理内存个数)
vmstat,iostat,sar
IO,输入输出
IOPS
10k,120-150IOPS
15k,150-200IOPS
每个IO完成的数据量
#vmstat2
procs-----------memory-------------swap-------io------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
00054108115401609012001831018116016291697050
1005410811544160906000003057378724146200
10054140115521609052000283169409822156300
bi
bo
wa
#iostat-x2
#iostat-d2/dev/sda2
Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
sda217.75574.413247.345772343263312
Blk_read/s每秒钟读取了多少扇区的数据,一扇区=512字节
tps每秒钟完成了多少个IO(读和写加起来)
#iostat-dk2/dev/sda6
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda6353.002.0070618.004141236
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda6355.002.0070892.004141784
Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda6348.502.0069822.004139644
#iostat-xk2/dev/sda6
Device:rrqm/swrqm/sr/sw/srkB/swkB/s
sda60.0016660.000.50341.502.0068236.00
avgrq-szavgqu-szawaitsvctm%util
399.051.103.232.4784.55
r/s每秒钟完成了多少个读IO
w/s每秒钟完成了多少个写IO
avgrq-sz平均每秒钟完成多少扇区数据的传输(读+写)
avgqu-szIO的平均队列长度
awaitIO请求在队列中等待的时间+服务时间(操作完需要数据),单位毫秒
svctm服务时间,单位毫秒
%util越接近100,就说明利用率越高。有些时候发现超过100,这是四舍五入导致
思考:sda6设备平均读IOPS,写IOPS,每个IO读取多少数据,每个IO写入多少数据
每个IO写入多少数据=wkB/s/w/s=200kb
文件系统的优化:
选择性能更好的文件系统:ext4,xfs,zfs
格式化的时候选择适当参数:块大小
根据存放的文件的平均大小来决定,默认块大小
#dumpe2fs-h/dev/sda1
Blocksize:1024
mkfs.ext3-b4096/dev/sda1
web服务等对时间不太重要,可以取消访问时间更新
mount-onoatime........
内核读取设备的调度算法:
#cat/sys/block/sda/queue/scheduler
noopanticipatorydeadline[cfq]
#echo"deadline">/sys/block/sda/queue/scheduler
#vimgrub.conf
...
kernel/vmlinuz-2.6.18-164.el5roroot=LABEL=/1rhgbquietelevator=deadline
...
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。