日期:2014-05-16  浏览次数:20514 次

DB2 CM数据库访问过慢的原因

项目名称:CM内容管理平台。

??? 项目架构:IBM的CM v8.4,was6.1.0.3,DB2 9.5

??? 数据库:CM包含两数据库:库服务器ICMNLSDB 资源管理器RMDB,应用数据库有BBKP,其中was和RMDB数据库安装和存储在一台服务器,应用数据库BBKP和ICMNLSDB数据库在另外一台数据库上。

?? 问题描述:在测试过程中,发现只要是和CM数据库有关的网页链接访问都特别慢,在利用windows自带的perfmon性能工具查看磁盘IO时,ICMNLSDB所在的那个盘IO特别高。再利用FileMon工具查看时,发现系统访问ICMNLSDB数据库对应的表空间ICMLFQ32所在的目录很频繁,因此推测可能是这个导致磁盘IO吃紧。

?? 问题解决:既然找出问题所在,接下来就是解决问题了。推测可能是表空间CIMLFQ32容量不够,但在为表空间添加容量时,系统却出现由于是系统管理的表空间,不允许更改添加表空间。而通过网上搜索,得出系统管理的表空间不受页大小的影响,和磁盘的容量有关。但本地的磁盘空间还有19G多,因此无奈只好修改表空间关联到缓冲池,通过将缓冲池设大,问题居然给解决了。太出乎意料了。

?

问题总结:由于系统访问数据库,获取数据容量时,一般会先去缓冲池中查找,缓冲池里没有的话才去表对应的表空间取数据。而缓冲池容量越大的话,数据存放的也就越多,表空间访问的频率也就越少,速度也就越快,尤其当数据量很多的时候,这个效果就特别明显。因此当发现表空间对应的磁盘容量足够时,一般就是由于缓冲池设置过小引起的。

?