检查点 数据库实例概要信息
方法 onstat -p
运行情况 Profile
dskreads pagreads bufreads %cached dskwrits pagwrits bufwrits %cached
6924024 6960444 57054963 87.87 276611 368870 2581449 89.32
isamtot open start read write rewrite delete commit rollbk
28117252 826169 1545943 19339955 720261 240523 170898 336161 34
gp_read gp_write gp_rewrt gp_del gp_alloc gp_free gp_curs
0 0 0 0 0 0 0
ovlock ovuserthread ovbuff usercpu syscpu numckpts flushes
1 0 0 1481.63 89.86 54 29
bufwaits lokwaits lockreqs deadlks dltouts ckpwaits compress seqscans
207092 179 89705878 0 0 5 66122 60111
ixda-RA idx-RA da-RA RA-pgsused lchwaits
500 97 5730949 5727768 186142
健康状况评估 %cached (bufreads)
A. %cached 是读取共享内存相对于磁盘读取百分比。 OLTP 系统
应该在 read cached 应该在 95%以上,write cached 应该在 80%以
上。否则,表示系统中缓冲区太少。
seqscans & cisamtot - 如果 seqscans 和 isamtot 之间的比例大于
1%,我们可以看看是否索引(index)使用少,顺序扫描(seqscans)使
用太多。
B. bufwait - 表示我们在缓冲池中等待一个的缓冲区数的次数。次数
高表示一个页面(page)正在改变太少。如果该页被刷新到磁盘太多
次,也可能发生这种情况。
C. lokwaits & lockreqs - 是用户线程必须在锁定表发出请求/页/行
锁的次数。 如果与 lokwaits/lockreqs 比率太高,那么应用程序可能
单线程(single-threading)。
D. ovlock 是数据库服务器试图分配锁 15 次数以上。ovlock 字段表
明 IDS 在使用了最大数量的锁之后尝试过再使用锁的次数。如果该
数字非零,那么您可能需要提高配置文件中 LOCKS 参数的值。
E. ovbuff 字段表明 IDS 在使用了最大数量的缓冲区之后尝试过再
使用缓冲区的次数。如果该数字很大,比如说超过 100000,那么表
示我们需要提高 BUFFERS 参数,以便用户在需要从磁盘访问数据
时不必等待缓冲区。这会缩短响应时间,因而可以改善整体性能。我
们还需要检查与 LRU 有关的参数,将它们的值调整到较低的
bufwait。
F. ixda-RA、idx-RA、da-RA 及 RA-pgused 。这些字段组合在一
起表明 IDS 使用 GBase 8s 预读机制的效率。预读是这样一种操作:
它在顺序扫描或索引读期间提前将数据页的数目从磁盘读入内存。理
想情况是,预读的页数(即 ixda-RA、idx-RA 和 da-RA 之和)等于
顺序扫描或索引读期间所使用的页数(即 RA-pgused )。这表明预
读的页百分之百地用于顺序扫描和索引读。如果二者之间存在显著的
差异,比如正负差值达到 10000 以上,那么 IDS 目前就没有很有
效地使用预读,而您可能需要调优您的预读参数(即 RA_PAGES 和
RA_THRESHOLD)以获取更好的性能。
G. commit & rollbk
是回滚(rollback)和提交(commit)两者的比例。 如果比例过高 1%,那
么应用程序可能设计不正确。需要研究为什么有这么多回滚,并采取
纠正措施。
(重启后从新计数)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐