4.磁盘I/O性能评估 node
(1)磁盘存储基础ios
l 熟悉RAID存储方式,能够根据应用的不一样,选择不一样的RAID方式。web
l 尽量用内存的读写代替直接磁盘I/O,使频繁访问的文件或数据放入内存中进行操做处理,由于内存读写操做比直接磁盘读写的效率要高千倍。数据库
l 将常常进行读写的文件与长期不变的文件独立出来,分别放置到不一样的磁盘设备上。缓存
l 对于写操做频繁的数据,能够考虑使用裸设备代替文件系统。性能优化
使用裸设备的优势有:网络
ü 数据能够直接读写,不须要通过操做系统级的缓存,节省了内存资源,避免了内存资源争用。并发
ü 避免了文件系统级的维护开销,好比文件系统须要维护超级块、I-node等。oracle
ü 避免了操做系统的cache预读功能,减小了I/O请求。ide
使用裸设备的缺点是:
ü 数据管理、空间管理不灵活,须要很专业的人来操做。
(2)利用iostat评估磁盘性能
[root@webserver ~]# iostat -d 2 3
Linux 2.6.9-42.ELsmp (webserver) 12/01/2008 _i686_ (8 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.87 2.58 114.12 6479462 286537372
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.00 0.00 12.00 0 24
对上面每项的输出解释以下:
Blk_read/s表示每秒读取的数据块数。
Blk_wrtn/s表示每秒写入的数据块数。
Blk_read表示读取的全部块数。
Blk_wrtn表示写入的全部块数。
Ø 能够经过Blk_read/s和Blk_wrtn/s的值对磁盘的读写性能有一个基本的了解,若是Blk_wrtn/s值很大,表示磁盘的写操做很频繁,能够考虑优化磁盘或者优化程序,若是Blk_read/s值很大,表示磁盘直接读取操做不少,能够将读取的数据放入内存中进行操做。
Ø 对于这两个选项的值没有一个固定的大小,根据系统应用的不一样,会有不一样的值,可是有一个规则仍是能够遵循的:长期的、超大的数据读写,确定是不正常的,这种状况必定会影响系统性能。
(3)利用sar评估磁盘性能
经过“sar –d”组合,能够对系统的磁盘IO作一个基本的统计,请看下面的一个输出:
[root@webserver ~]# sar -d 2 3
Linux 2.6.9-42.ELsmp (webserver) 11/30/2008 _i686_ (8 CPU)
11:09:33 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:09:35 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:37 PM dev8-0 1.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00
11:09:37 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.00 0.50 0.25 0.05
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8-0 1.00 0.00 19.97 20.00 0.00 0.33 0.17 0.02
须要关注的几个参数含义:
await表示平均每次设备I/O操做的等待时间(以毫秒为单位)。
svctm表示平均每次设备I/O操做的服务时间(以毫秒为单位)。
%util表示一秒中有百分之几的时间用于I/O操做。
对以磁盘IO性能,通常有以下评判标准:
正常状况下svctm应该是小于await值的,而svctm的大小和磁盘性能有关,CPU、内存的负荷也会对svctm值形成影响,过多的请求也会间接的致使svctm值的增长。
await值的大小通常取决与svctm的值和I/O队列长度以及I/O请求模式,若是svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,若是await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢,此时能够经过更换更快的硬盘来解决问题。
%util项的值也是衡量磁盘I/O的一个重要指标,若是%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工做,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,能够经过优化程序或者经过更换更高、更快的磁盘来解决此问题。
5. 网络性能评估
(1)经过ping命令检测网络的连通性
(2)经过netstat –i组合检测网络接口情况
(3)经过netstat –r组合检测系统的路由表信息
(4)经过sar –n组合显示系统的网络运行状态
5、Oracle在Linux下的性能优化
Oracle数据库内存参数的优化
Ø 与oracle相关的系统内核参数
Ø SGA、PGA参数设置
Oracle下磁盘存储性能优化
Ø 文件系统的选择(ext2/ext3、xfs、ocfs2)
Ø Oracle ASM存储
1.优化oracle性能参数以前要了解的状况
1)物理内存有多大
2)操做系统估计要使用多大内存
3)数据库是使用文件系统仍是裸设备
4)有多少并发链接
5)应用是OLTP类型仍是OLAP类型