首页 > 学技术 > 技术网文 > DB2 > 正文

[精华] 数据库性能的优化


来源 chinaunix.net 酷勤网整理

后台是IBM RS60006E1 小型机(内存512M, cpu power 375).
 不知道以下的哪些参数还需要怎么样的优化?(最好能解释一下原因)
 谢谢!



下面是配置参数
//*****************************************
Database configuration release level                    = 0x0900
 Database release level                                  = 0x0900

 Database territory                                      = CN
 Database code page                                      = 1252
 Database code set                                       = IBM-1252
 Database country code                                   = 86

 Dynamic SQL Query management           (DYN_QUERY_MGMT) = DISABLE

 Directory object name                    (DIR_OBJ_NAME) =
 Discovery support for this database       (DISCOVER_DB) = ENABLE

 Default query optimization class         (DFT_QUERYOPT) = 5
 Degree of parallelism                      (DFT_DEGREE) = 1
 Continue upon arithmetic exceptions   (DFT_SQLMATHWARN) = NO
 Default refresh age                   (DFT_REFRESH_AGE) = 0
 Number of frequent values retained     (NUM_FREQVALUES) = 10
 Number of quantiles retained            (NUM_QUANTILES) = 20

 Backup pending                                          = NO

 Database is consistent                                  = NO
 Rollforward pending                                     = NO
 Restore pending                                         = NO

 Multi-page file allocation enabled                      = NO

 Log retain for recovery status                          = NO
 User exit for logging status                            = NO

 Data Links Token Expiry Interval (sec)      (DL_EXPINT) = 60
 Data Links Number of Copies             (DL_NUM_COPIES) = 1
 Data Links Time after Drop (days)        (DL_TIME_DROP) = 1
 Data Links Token in Uppercase                (DL_UPPER) = NO
 Data Links Token Algorithm                   (DL_TOKEN) = MAC0

 Database heap (4KB)                            (DBHEAP) = 20000
 Catalog cache size (4KB)              (CATALOGCACHE_SZ) = 256
 Log buffer size (4KB)                        (LOGBUFSZ) = 2048
 Utilities heap size (4KB)                (UTIL_HEAP_SZ) = 10000
 Buffer pool size (pages)                     (BUFFPAGE) = 64000
 Extended storage segments size (4KB)    (ESTORE_SEG_SZ) = 16000
 Number of extended storage segments   (NUM_ESTORE_SEGS) = 0
 Max storage for lock list (4KB)              (LOCKLIST) = 20000

 Max appl. control heap size (4KB)     (APP_CTL_HEAP_SZ) = 512

 Sort list heap (4KB)                         (SORTHEAP) = 20000
 SQL statement heap (4KB)                     (STMTHEAP) = 20480
 Default application heap (4KB)             (APPLHEAPSZ) = 256
 Package cache size (4KB)                   (PCKCACHESZ) = (MAXAPPLS*8)
 Statistics heap size (4KB)               (STAT_HEAP_SZ) = 4384

 Interval for checking deadlock (ms)         (DLCHKTIME) = 10000
 Percent. of lock lists per application       (MAXLOCKS) = 10
 Lock timeout (sec)                        (LOCKTIMEOUT) = -1

 Changed pages threshold                (CHNGPGS_THRESH) = 60
 Number of asynchronous page cleaners   (NUM_IOCLEANERS) = 1
 Number of I/O servers                   (NUM_IOSERVERS) = 3
 Index sort flag                             (INDEXSORT) = YES
 Sequential detect flag                      (SEQDETECT) = YES
 Default prefetch size (pages)         (DFT_PREFETCH_SZ) = 320

 Default number of containers                            = 1
 Default tablespace extentsize (pages)   (DFT_EXTENT_SZ) = 32

 Max number of active applications            (MAXAPPLS) = 200
 Average number of active applications       (AVG_APPLS) = 1
 Max DB files open per application            (MAXFILOP) = 64

 Log file size (4KB)                         (LOGFILSIZ) = 40000
 Number of primary log files                (LOGPRIMARY) = 3
 Number of secondary log files               (LOGSECOND) = 2
 Changed path to log files                  (NEWLOGPATH) =
 Path to log files                                       = 

/dbdir/db2inst1/NODE0
000/SQL00001/SQLOGDIR/
 First active log file                                   =

 Group commit count                          (MINCOMMIT) = 1
 Percent log file reclaimed before soft chckpt (SOFTMAX) = 100
 Log retain for recovery enabled             (LOGRETAIN) = OFF
 User exit for logging enabled                (USEREXIT) = OFF

 Auto restart enabled                      (AUTORESTART) = ON
 Index re-creation time                       (INDEXREC) = SYSTEM 

(RESTART)
 Default number of loadrec sessions    (DFT_LOADREC_SES) = 1
 Number of database backups to retain   (NUM_DB_BACKUPS) = 12
 Recovery history retention (days)     (REC_HIS_RETENTN) = 366

 TSM management class                    (TSM_MGMTCLASS) =
 TSM node name                            (TSM_NODENAME) =
 TSM owner                                   (TSM_OWNER) =
 TSM password                             (TSM_PASSWORD) =
//**************************************************



 wolfop 回复于:2003-01-15 11:27:31

你的buffer pool size比DBHEAP大?能起作用吗?


 FBLS 回复于:2003-01-15 11:55:21

谢谢wolfop
我应该作怎样的调整呢?


 iwin21cn 回复于:2003-01-15 12:24:18

buffer pool size 当然要比DBHEAP大了!
如果没有足够的经验,请在系统有问题是在进行调正!


 FBLS 回复于:2003-01-15 13:37:25

我这儿的BUFFER POOL (64000*4 ) 比 dbheap (20000*4) 是大呀! 
????


 ddmmdd 回复于:2003-01-15 14:45:27

引用:原帖由 "iwin21cn" 发表:
buffer pool size 当然要比DBHEAP大了!
如果没有足够的经验,请在系统有问题是在进行调正!



是对的,如果性能没问题不要乱调,buffer pool size  在参数中应是最大的,作为dbserver 应该占大部分的内存。


 FBLS 回复于:2003-01-15 16:21:37

谢谢大家!


 wolfop 回复于:2003-01-15 19:32:33

引用:原帖由 "ddmmdd"][quote:8fe571e08e="iwin21cn" 发表:
buffer pool size 当然要比DBHEAP大了!
如果没有足够的经验,请在系统有问题是在进行调正!



是对的,如果性能没问题不要乱调,buffer pool size  在参数中应是最大的,作为dbserver 应该占大部分的内存。

不好意思,记错了,BUFFER POOL SIZE不是在DB HEAP中分配的。


 Law 回复于:2003-01-16 11:09:01

你应该还要把dbm的配置参数帖出来


 vlife 回复于:2003-01-16 11:36:24

性能经验很重要的。


 胡杨 回复于:2003-01-21 17:22:31

我总觉得少了些什么?


 胡杨 回复于:2003-01-21 17:24:06

LOGPRIMARY和LOGSECOND是不是少 了些?如果操作的数据表很大话,可能要报964的错。


 FBLS 回复于:2003-01-27 13:11:35

有时候会报"the system file is full" 的错误(错误号我忘了)
不知道和上面所说的是否有关!


 iwin21cn 回复于:2003-02-14 13:59:59

我想在实践中成长是最重要的;在解决问题中得到成长!多看看db2diag,是否有让你解决的问题?


 MichaelChan 回复于:2003-03-01 10:27:08

用SmartGuide配置不行么?
数据库的调优占一部分,主要还是应用的运算、统计优化起主要作用。


 dante 回复于:2003-03-25 13:31:58

可以利用Control Center中的性能向导对系统作个诊断,该向导会针对db及application的特点,给出性能参数的修改意见,可作为参考。个人以为最重要的参数就是buffpage,一般设为总物理内存的30%-75%。DBHEAP主要保存log buf、Catalog Buf及一些控制信息,一般不需要设很大。


 iwin21cn 回复于:2003-03-25 20:59:00

其实,我们也不能老是想着调整数据库的性能,一定要想想自己写的程序臭不臭?


 trick 回复于:2003-04-26 22:00:25

你的应用主要在哪些方面,是否有存储过程,客户端连接数多少,UPDATE比率占多少,有没有大于4K的TABLESPACE,我看许多参数可以调整,同时此消彼涨,一切都要平衡考虑,用MONITOR监测可以看到效果


 trick 回复于:2003-04-26 22:01:32

还有你的BUFFPAGE是否设置为-1,否则DB CFG的BUFFPAGE无效


 xiaodiege 回复于:2003-04-28 14:07:06

如果是数据库服务器,最好buffer pool 占整个内存的75%


 joeblackyang 回复于:2003-04-29 12:34:49

APPLHEAPSZ 只有1M,可以考虑更大一点。


 netxay 回复于:2003-08-22 14:51:09

有道理.我一直不知道哪个是数据库用的内存象ORACLE的SGA.看样子就是这几个参数了.
我要把BUFFER POOL 加大了 4G的内存居然只给了2000个PAGE,真是浪费.


 richardluopeng 回复于:2003-09-10 18:47:27

好东西,我急需呀,大家多说一些呀




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=902
转载请注明作者名及原文出处



收藏本页到: