打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关系型数据库性能测试参考指标----Oracle
注:以下指标取自Oracle的性能分析工具Statspack所提供的性能分析指标。
指标名称
指标描述
指标范围
指标单位
1.关于实例效率(Instance Efficiency Percentages)的性能指标
缓冲区未等待率
(Buffer Nowait %)
指在缓冲区中获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则可能要增大buffer cache。
%
Redo缓冲区未等待率
(Redo NoWait %)
指在Redo缓冲区获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则有2种可能的情况:
1.online redo log没有足够的空间;
2.log切换速度较慢。
%
缓冲区命中率
(Buffer Hit %)
指数据块在数据缓冲区中的命中率。
该指标的值通常应在90%以上,否则,需要调整。如果持续小于90%,可能要加大db_cache_size。但有时,缓存命中率低并不意味着cache设置小了,可能是潜在的全表扫描降低了缓存命中率。
%
内存排序率
()
指排序操作在内存中进行的比率。当查询需要排序的时候,数据库会话首先选择在内存中进行排序,当内存大小不足的时候,将使用临时表空间进行磁盘排序,但磁盘排序效率和内存排序效率相差好几个数量级。
该指标的值应接近100%,如果指标的值较低,则表示出现了大量排序时的磁盘I/O操作,可考虑加大sort_area_size参数的值。
%
共享区命中率
(%)
该指标主要代表sql在共享区的命中率。
该指标的值通常应在95%以上,否则需要考虑加大共享池(修改shared_pool_size参数值),绑定变量,修改cursor_sharing等参数。
%
软解析的百分比
(Soft Parse %)
该指标是指Oracle对sql的解析过程中,软解析所占的百分比。软解析(soft parse)是指当Oracle接到Client提交的Sql后会首先在共享池(Shared Pool)里面去查找是否有之前已经解析好的与刚接到的这一个Sql完全相同的Sql。当发现有相同的Sql就直接用之前解析好的结果,这就节约了解析时间以及解析时候消耗的CPU资源。
该指标的值通常应在95%以上,如果低于80%,那么就可能sql基本没被重用,sql没有绑定变量,需要考虑绑定变量。
%
闩命中率
(Latch Hit%)
指获得Latch的次数与请求Latch的次数的比率。
该指标的值应接近100%,如果低于99%,可以考虑采取一定的方法来降低对Latch的争用。
%
SQL语句执行与
解析的比率
(Execute to Parse %)
指SQL语句执行与解析的比率。SQL语句一次解析后执行的次数越多,该比率越高,说明SQL语句的重用性很好。
该指标的值应尽可能到高,如果过低,可以考虑设置
session_cached_cursors参数。
%
共享池内存使用率
(Memory Usage %)
该指标是指在采集点时刻,共享池(share pool)内存被使用的比例。
这指标的值应保持在75%~90%,如果这个值太低,就浪费内存,如果太高,会使共享池外部的组件老化,如果SQL语句被再次执行,则就会发生硬分析。
%
2.关于等待事件(Wait events)的性能指标
文件分散读取
(db file scattered read(cs))
该等待事件通常与全表扫描有关。因为全表扫描是被放入内存中进行的进行的,通常情况下它不可能被放入连续的缓冲区中,所以就散布在缓冲区的缓存中。
如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或没有创建合适的索引。尽管在特定条件下执行全表扫描可能比索引扫描更有效,但如果出现这种等待时,最好检查一下这些全表扫描是否必要。
厘秒
文件顺序读取
(db file sequential read(cs))
该等待事件通常与单个数据块相关的读取操作有关。
如果这个等待事件比较显著,可能表示在多表连接中,表的连接顺序存在问题,或者可能不合适地使用了索引。对于大量事务处理、调整良好的系统,这一数值大多是很正常的,但在某些情况下,它可能暗示着系统中存在问题。应检查索引扫描,以保证每个扫描都是必要的,并检查多表连接的连接顺序。另外DB_CACHE_SIZE也是这些等待出现频率的决定因素。
厘秒
缓冲区忙
(buffer busy(cs))
当一个会话想要访问缓存中的某个块,而这个块正在被其它会话使用时,将会产生该等待事件。这时候,其它会话可能正在从数据文件向缓存中的这个块写入信息,或正在对这个块进行修改。
出现这个等待事件的频度不应大于1%。如果这个等待事件比较显著,则需要根据等待事件发生在缓存中的哪一块(如字段头部、回退段头部块、回退段非头部块、数据块、索引块等),采取相应的优化方法。
厘秒
(enqueue(cs))
enqueue是一种保护共享资源的锁定机制。该锁定机制保护共享资源,如记录中的数据,以避免两个人在同一时间更新同一数据。enqueue包括一个排队机制,即FIFO(先进先出)排队机制。注意:Oracle的latch机制不是FIFO。Enqueue等待通常指的是ST enqueue、HW enqueue、TX4 enqueue和TM enqueue。
如果enqueue等待事件比较显著,则需要根据enqueue等待类型,采取相应的优化方法。
厘秒
闩释放
(latch free(cs))
该等待事件意味着进程正在等待其他进程已持有的latch。
latch是一种低级排队机制(它们被准确地称为相互排斥机制),用于保护系统全局区域(SGA)中共享内存结构。latch就像是一种快速地被获取和释放的内存锁。latch用于防止共享内存结构被多个用户同时访问。
对于常见的Latch等待通常的解决方法:
1)Share pool latch:在OLTP应用中应该更多的使用绑定变量以减少该latch的等待。
2)Library cache latch:同样的需要通过优化sql语句使用绑定变量减少该latch的等待。
厘秒
日志文件同步
(log file sync(cs))
这个等待事件是指当一个会话完成一个事务(提交或者回滚数据)时,必须等待LGWR进程将会话的redo信息从日志缓冲区写到日志文件后,才能继续执行下去。
这个等待事件的时间过长,可能是因为commit太频繁或者lgwr进程一次写日志的时间太长(可能是因为一次log io size太大),可调整_log_io_size,结合log_buffer,使得(_log_io_size*db_block_size)*n = log_buffer,这样可避免和增大log_buffer引起冲突,或者可以将日志文件存放在高速磁盘上
厘秒
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Oracle日常性能查看
awr报告分析
Oracle中常见的33个等待事件小结
关系型数据库性能测试参考指标 - prettyyang的个人空间 - 51Testing软...
buffer-cache深度分析及性能调整
Oracle Tuning (Oracle 性能调整)的一些总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服