在AIX 5.3里面db2 v8.1 fixpak有的有打,有的没打(
应该不是fixpak方面的问题), 如果系统的CPU数量为2颗,双核的,即:
lsdev -Cc processor 看到有2颗,
这个时候,看到系统的cpu资源利用率始终无法超过50% 偶尔能超过一点,系统里面只有一个db2数据库,那是不是说
对于db2 v8来说,CPU数量配置的再多也没多大用? 因为单个数据库最多只能吃满一颗CPU的资源,即我认为db2sysc这个进程只能同时在一颗CPU上面跑,而无法把整个系统的CPU资源吃完? 是这样吗?
如果这样的话,是不是说我们在配置机器时,如果应用只需要启一个数据库,就没必要配那么多的CPU? 因为现在很多地方都是配了
4CPU 或者 8CPU 而系统既没有划分LPAR 也没有运行多个数据库或者多个实例, 如果是这样的话那整个中国不知道浪费了多少钱在这个配置上面!
PS:如果有人提INTRA_PARALLEL这个参数,希望能够给出一个官方的解释,不要自己在什么地方看到了就以为是那样的。
2009.08.24-2009.08-28
这期间有了新的认识,首先从db2数据库干什么用说起,比如说现在数据库主要的任务就是导入数据,然后跑存储过程,我前面的观察实际上是因为数据库在同一个时间只跑一个存储过程,而现在只要有两个存储过程同时跑,就能把CPU吃到很高,在跑存储过程的时候用db2 list application会看到一个db2bp的进程处于Excuting的状态,而这个进程在ps -ef里面看到的就是一个db2agent进程,我们知道虽然一个instance启动后只会对应一个db2sysc但是db2agent却可以启动多个,这样的话多个单进程同时运行时就可以将系统CPU吃到很高,对于不跑存储过程,而是作为客户端连接用的数据库同样可以同时启多个db2agent 从而也会将系统CPU吃到很高,我前面错误的以为,跑存储过程是在db2sysc这个进程里面的,所以片面的认为多个CPU对db2数据库无用,这是错误的!
阅读(922) | 评论(0) | 转发(0) |