首页 数据库箴言

数据库箴言

举报
开通vip

数据库箴言数据库箴言 SQL Server 注:以下指标取自SQL Server自身提供的性能计数器。 指标名称 指标描述 指标范围 指标单位 1.SQL Server中访问方法(Access Methods)对象包含的性能计数器 全表扫描/秒 指每秒全表扫描的数量。如果该指标的值比1或2次数/秒 (Full Scans/sec) 全表扫描可以是基本表高,应该分析设计的查询 扫描或全索引扫描。由于以确定是否确实需要全 全表扫描需要耗费大量表扫描,以及SQL查询是 时间,因此全表扫描的频否可以被优化。 率过高的话,会影...

数据库箴言
数据库箴言 SQL Server 注:以下指标取自SQL Server自身提供的性能计数器。 指标名称 指标描述 指标范围 指标单位 1.SQL Server中访问方法(Access Methods)对象包含的性能计数器 全表扫描/秒 指每秒全表扫描的数量。如果该指标的值比1或2次数/秒 (Full Scans/sec) 全表扫描可以是基本表高,应该分析设计的查询 扫描或全索引扫描。由于以确定是否确实需要全 全表扫描需要耗费大量表扫描,以及SQL查询是 时间,因此全表扫描的频否可以被优化。 率过高的话,会影响性 能。 2.SQL Server中缓冲器管理器(Buffer Manager)对象包含的性能计数器 缓冲区高速缓存命中指在缓冲区高速缓存中该指标的值最好为90% % 率 (Buffer Cache 找到而不需要从磁盘中或更高。通常可以通过增Hit Ratio %) 读取的页的百分比。该比加 SQL Server 可用的内 率是缓存命中总次数与存数量来提高该指标的 缓存查找总次数之比。经值。增加内存直到这指标 过很长时间后,该比率的的值持续高于90%,表示 变化很小。由于从缓存中90% 以上的数据请求可 读取数据比从磁盘中读以从数据缓冲区中获得 取数据的开销小得多,一所需数据。 般希望该比率高一些。 读的页/秒 指每秒发出的物理数据该指标的值应尽可能的个数/秒 (Page Reads/sec) 库页读取数。该指标主要小。可以通过使用更大的 考察数据库从磁盘读取数据高速缓存、智能索 数据的频率。因为物理引、更高效的查询或者改 I/O 会耗费大量时间,所变数据库设计等方法,以 以应尽可能地减少物理降低该指标的值。 I/O 以提高性能。 写的页/秒 指每秒执行的物理数据该指标的值应尽可能的个数/秒 (Page Writes/sec) 库写的页数。该指标主要小。可以通过使用更大的 考察数据库向磁盘写入数据高速缓存、智能索 数据的频率。因为物理引、更高效的查询或者改 I/O 会耗费大量时间,所变数据库设计等方法,以 以应尽可能地减少物理降低该指标的值。 I/O 以提高性能。 惰性写/秒 指每秒被缓冲区管理器该指标的值最好为0。 个数/秒 (Lazy Writes/sec) 的惰性编写器写入的缓 冲区数。惰性编写器是一 个系统进程,用于成批刷 新脏的老化的缓冲区(包 含更改的缓冲区,必须将 这些更改写回磁盘,才能 将缓冲区重用于其他 页),并使它们可用于用 户进程。 3.SQL Server中高速缓存管理器(Cache Manager)对象包含的性能计数器 高速缓存命中率 指高速缓存命中次数和该指标的值越高越好。如% (Cache Hit Ratio %) 查找次数的比率。在SQL 果该指标的值持续低于 Server中,Cache包括Log 80%,就需要增加更多的 Cache,Buffer Cache以内存。 及Procedure Cache,该 指标是指所有Cache的命 中率,是一个总体的比 率。 4.SQL Server中闩(Latches)对象包含的性能计数器 平均闩等待 指一个SQL Server线程如果该指标的值很高,则毫秒 时间(毫秒) 必须等待一个闩的平均系统可能正经历严重的 (Average Latch 时间。 资源竞争问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。 Wait Time(ms)) 闩等待/秒 指在一个闩上每秒的平如果该指标的值很高,则个数/秒 (Latch Waits/sec) 均等待数量。 系统可能正经历严重的 资源竞争问题。 5.SQL Server中锁(Locks)对象包含的性能计数器 死锁的数量/秒 指每秒导致死锁的锁请锁加在SQL Server资源个数/秒 (Number of 求数。 上(如在一个事务中进行 Deadlocks/sec) 的行读取或修改),以防 止多个事务并发使用资 源。应尽可能少使用锁以 提高事务的并发性,从而 改善性能。 平均等待时间(毫秒) 指线程等待某种类型的同上 毫秒 (Average Wait 锁的平均等待时间。 Time(ms)) 锁请求/秒 指每秒钟某种类型的锁同上 个数/秒 (Lock Requests/sec) 请求的数量。 Oracle 注:以下指标取自Oracle的性能分析工具Statspack所提供的性能分析指标。 指标名称 指标描述 指标范围 指标单位 1.关于实例效率(Instance Efficiency Percentages)的性能指标 缓冲区未等待率 指在缓冲区中获取该指标的值应接近100%,% (Buffer Nowait %) Buffer的未等待比率。 如果该值较低,则可能要 增大buffer cache。 Redo缓冲区未等待率 指在Redo缓冲区获取该指标的值应接近100%,% (Redo NoWait %) Buffer的未等待比率。 如果该值较低,则有2种 可能的情况: 1) online redo log没有 足够的空间; 2)log切换速度较慢。 缓冲区命中率 指数据块在数据缓冲区该指标的值通常应在90%% (Buffer Hit %) 中的命中率。 以上,否则,需要调整。 如果持续小于90%,可能 要加大db_cache_size。 但有时,缓存命中率低并 不意味着cache设置小 了,可能是潜在的全表扫 描降低了缓存命中率。 内存排序率 指排序操作在内存中进该指标的值应接近100%,% (In-memory Sort %) 行的比率。当查询需要排如果指标的值较低,则表 序的时候,数据库会话首示出现了大量排序时的 先选择在内存中进行排磁盘I/O操作,可考虑加 序,当内存大小不足的时大sort_area_size参数 候,将使用临时表空间进的值。 行磁盘排序,但磁盘排序 效率和内存排序效率相 差好几个数量级。 共享区命中率 该指标主要代表sql在共该指标的值通常应在95%% (Library Hit %) 享区的命中率。 以上,否则需要考虑加大 共享池(修改 shared_pool_size参数 值),绑定变量,修改 cursor_sharing等参数。 软解析的百分比 该指标是指Oracle对sql该指标的值通常应在95%% (Soft Parse %) 的解析过程中,软解析所以上,如果低于80%,那 占的百分比。软解析么就可能sql基本没被重 (soft parse)是指当用,sql没有绑定变量, Oracle接到Client提交需要考虑绑定变量。 的Sql后会首先在共享池 (Shared Pool)里面去 查找是否有之前已经解 析好的与刚接到的这一 个Sql完全相同的Sql。 当发现有相同的Sql就直 接用之前解析好的结果, 这就节约了解析时间以 及解析时候消耗的CPU资命中率 指获得Latch的次数与请该指标的值应接近100%,%源。 (Latch Hit %) 求Latch的次数的比率。 如果低于99%,可以考虑闩采取一定的方法来降低 对Latch的争用。 SQL语句执行与 指SQL语句执行与解析的该指标的值应尽可能到% 解析的比率 比率。SQL语句一次解析高,如果过低,可以考虑(Execute to Parse %) 后执行的次数越多,该比设置 率越高,说明SQL语句的session_cached_cursor 重用性很好。 s参数。 共享池内存使用率 该指标是指在采集点时这指标的值应保持在% (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 是一种保护共如果enqueue等待事件比 (enqueue (cs)) 享资源的锁定机制。该锁较显著,则需要根据 定机制保护共享资源,如enqueue等待类型,采取 记录中的数据,以避免两相应的优化方法。 个人在同一时间更新同 一数据。enqueue 包括一 个排队机制,即FIFO(先 进先出)排队机制。注意: Oracle 的latch 机制不 是FIFO。Enqueue 等待通 常指的是ST enqueue、HW enqueue、TX4 enqueue 和 TM enqueue。 厘秒 闩释放 该等待事件意味着进程对于常见的Latch等待通 (latch free (cs)) 正在等待其他进程已持常的解决方法: 有的latch。 1)Share pool latch:latch是一种低级排队机在OLTP应用中应该更多 制(它们被准确地称为相的使用绑定变量以减少 互排斥机制),用于保护该latch的等待。 系统全局区域(SGA)中共2)Library cache 享内存结构。latch 就像latch:同样的需要通过 是一种快速地被获取和优化sql语句使用绑定变 释放的内存锁。latch 用量减少该latch的等待。 于防止共享内存结构被 多个用户同时访问。 厘秒 这个等待事件的时间过 长,可能是因为commit日志文件同步 这个等待事件是指当一必太频繁或者lgwr进程一(log file sync (cs)) 个会话完成一个事务(提须等待LGWR进程将会话次写日志的时间太长(可交或者回滚数据)时,的redo信息从日志缓冲能是因为一次log io 区写到日志文件后,才能size太大),可调整 继续执行下去。 _log_io_size,结合 log_buffer,使得 (_log_io_size*db_bloc k_size)*n = log_buffer,这样可避免 和增大log_buffer引起 冲突,或者可以将日志文 件存放在高速磁盘上 DB2 注:以下指标取自DB2的运行状况指示器所包含的各项指标。 指标名称 指标描述 指标范围 指标单位 1.表空间存储器运行状况指示器 自动调整大小 该指标用来跟踪每个DMS该指标是用消耗的最大% 表空间利用率 表空间的存储器消耗情表空间存储器所占的百 (ts.ts_util_auto_ 况,这些DMS表空间已经分比度量的。高百分比指 Resize %) 定义了最大大小,并且可示表空间接近已满程度。 以自动调整大小,达到最该指标的附加信息中包 大大小时,则认为DMS表括的短期增长率和长期 空间已满。 增长率可用来确定,当前 增长率是短期畸变还是 与长期增长一致。附加信 息中对离空间已满所余 时间的计算可以预测达 到最大大小所余的时间。 表空间利用率 如果在表空间上没有启该指标以消耗空间的百% (ts.ts_util %) 用自动调整大小,则可用分比来度量。高百分比指 该指标来跟踪每个DMS表示未达到该指标的最优 空间的存储器消耗情况;运行状况。该指标的附加 反之,DB2不会评估该指信息中包括的短期增长 标。 率和长期增长率可用来 确定,当前增长率是短期 畸变还是与长期增长一 致。附加信息中对离空间 已满所余时间的计算可 以预测达到最大大小所 余的时间。 表空间容器利用率 该指标用来跟踪未使用该指标以消耗空间的百% (ts.ts_op_status %) 自动存储器的每个SMS表分比来度量。高百分比指 空间的存储器消耗情况。示未达到该指标的最优 如果对其定义容器的任运行状况。该指标的附加 何文件系统上都没有更信息中包括的短期增长 多空间,则认为SMS表空率和长期增长率可用来 间已满。如果文件系统上确定,当前增长率是短期 没有可用空间可供扩展畸变还是与长期增长一 SMS容器,则表示关联表致。附加信息中对离空间 空间已满。 已满所余时间的计算可 以预测达到最大大小所 余的时间。 2.排序运行状况指示器 专用排序内存利用率 该指标用来跟踪专用排如果该指标的值等于或% (db2.sort_privmem_ 序内存的利用率。 超过100%,则说明已达到 Util %) 了排序堆阀值,没有足够 的堆空间可用于执行排 序。“阀值后排序数”快 照监视元素可在调整该 指标值时作为参考。该监 视元素记录了超过排序 堆阀值后请求堆的排序 数。 共享排序内存利用率 该指标用来跟踪共享排如果该指标的值等于或% (db2.sort_shrmem_ 序内存的利用率。 超过100%,则说明已达到 Util %) 了排序堆阀值,没有足够 的堆空间可用于执行排 序。 建议使用自调整内存功 能,以根据当前工作负载 的需要自动分配排序内 存资源。 溢出排序百分比 该指标值是指用完排序该指标值应为0,因为溢% (db.spilled_sorts %) 堆后可能需要磁盘空间出至磁盘的排序可能导 以供临时存储器使用的致严重的性能下降。 总排序数占已执行的排建议使用自调整内存功 序总数的利率。 能,以根据当前工作负载 的需要自动分配排序内 存资源。 3.日志记录运行状况指示器 日志利用率 该指标用来跟踪在数据该指标以消耗空间的百% (db.log_util %) 库中使用的总活动日志分比来度量。高百分比指 空间量。 示空间消耗接近已满程 度。这时可调整一些与日 志有关的数据库配置参 数的值。这些参数的值显 示在附加信息中。 日志文件系统利用率 该指标用来跟踪事务日该指标以消耗空间的百% (db.log_fs_util %) 志所在的文件系统的充分比来度量。高百分比指 满程度。如果文件系统上示文件系统中的可用空 没有空间,则DB2可能无间量已接近于0。这时可 法创建新的日志文件。 调整一些与日志有关的 数据库配置参数的值。这 些参数的值显示在附加 信息中。 4.应用程序并发性运行状况指示器 死锁率 该指标用来跟踪死锁出该指标值应为0,该值越% (db.deadlock_rate%) 现在数据库上的比率以高,则争用等级就越高。 及应用程序遇到争用问 题的等级。 锁定列表利用率 该指标用来跟踪要使用该指标以消耗内存的百% (db.locklist_util %) 的锁定列表内存量。每个分比来度量,出现高百分 数据库有一个锁定列表,比表示状况不佳。 锁定列表包含由同时连建议使用自调整内存功 接至数据库的所有应用能,以根据当前工作负载 程序挂起的锁定。这是对的需要自动分配排序内 锁定列表内存设置的限存资源。 制。一旦达到该限制,就 会因为下列情况而使得 性能下降: 1) 锁定升级将行锁定转 换为表锁定,从而降 低了数据库中的共享 对象的并行性; 2) 因为应用程序等待有 限数目的表锁定,所 以应用程序间会出现 更多死锁。因此将回 滚事务。 等待锁定的应用程序该指标度量所有当前执高百分比可能指示应用% 的百分比 行的等待锁定的应用程程序遇到并行性问题,这 (db.apps_waiting 序所占的百分比。 对性能有负面影响。 _locks %) 5.程序包和目录高速缓存,以及工作空间运行状况指示器 目录高速缓存命中率 该指标用于指示目录高高命中率指示在避免实% (db.catcache 速缓存对避免对磁盘上际磁盘I/O访问方面很成_hitratio %) 的目录的实际访问所起功。 到的帮助作用。 程序包高速缓存 该指标用于指示程序包高命中率指示在避免从% 命中率 高速缓存对避免从系统系统目录重新装入静态 (db.pkgcache 目录重新装入静态SQL的SQL的程序包和段以及避 _hitratio %) 程序包和段以及避免重免重新编译动态SQL语句 新编译动态SQL语句所起方面很成功。 到的帮助作用。 共享工作空间 该指标用于指示共享SQL高命中率指示在避免初% 命中率 工作空间对避免初始化始化要执行的SQL语句的(db.shrworkspace 要执行的SQL语句的各段各段方面很成功。 _hitratio %) 所起到的帮助作用。 6.内存运行状况指示器 数据库堆利用率 该指标用来跟踪基于带一旦此百分比达到最大% (db.db_heap_util %) 有标识值100%,查询和操作可能 SQLM_HEAP_DATABASE的会因为没有堆可用而失 内存池的监视器堆内存败。 的消耗。
本文档为【数据库箴言】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_266065
暂无简介~
格式:doc
大小:33KB
软件:Word
页数:15
分类:互联网
上传时间:2017-09-03
浏览量:562