性能调整参数(转)

[size=large][size=large]复习笔记 - 性能调整参数
01.
DB2_ALLOCATION_SIZE - 单次分配的缓冲池内存大小(不推荐使用)
64KB-256MB default:128KB
太小会导致内存分配次数过于频繁,太大会导致内存空间的浪费。

02.
DB2_APM_PERFORMANCE - acesss plan manager内与性能相关的改变是否影响已缓存包.
ON/OFF default:OFF
在生产环境中不推荐使用.
在设置为ON时,对全局缓存包,NO PACKAGE LOCK模式可以使用.但内部系统锁会阻止缓存包阻止被删除.
此时一部分数据库操作将不能执行,这包括:包无效,包不可操作,预编译,绑定,再绑定.

03.
DB2ASSUMEUPDATE - 比较更新语句里定长列,测定该列是否需要更新.
ON/OFF default:OFF

04.
DB2_AVOID_PREFETCH - 在崩溃恢复中是否使用预取.
ON/OFF default:OFF

05.
DB2BPVARS - 指定包含缓冲池调整参数文件的位置(不推荐使用)
路径 default: 当前路径
可设定参数有:
WINDOWS平台 - DB2NTNOCACHE被设置的时候才可以使用.对不同容器类型分散预读取.0:OFF(default),1:ON
NO_NT_SCATTER
NT_SCATTER_DMSFILE
NT_SCATTER_DMSDEVICE
NT_SCATTER_SMS
全部平台:
NUMPREFETCHQUEUES 1(default) to NUM_IOSERVERS
PREFETCHQUEUESIZE 200 和 2*NUM_IOSERVERS 最大值 1 to 32767
--------------
06.
DB2CHKPTR - 是否执行输入指针检查
ON/OFF default:OFF
07.
DB2CHKSQLDA - 是否执行SQLDA检查
ON/OFF default:OFF
08.
DB2_ENABLE_BUFPD - 是否使用中间缓冲来改进性能.(废除)
09.
DB2_EVALUNCOMMITTED - 扫描时是否使用表索引扫描延迟来避免行锁定.
ON/OFF default:OFF
只能用在currently committed语句无法避免锁定的场合.
ISOLATION水平: CS or RS
10.
DB2_EXTENDED_IO_FEATURES - 是否使用enhance I/O performance
ON/OFF/ONLINE_BACKUP_IOPRIORITY=[HIGH |MEDIUM | LOW] default: OFF
AIX ONLY
9.1以上
只支持RAW DEVICE
AIX5.3 TL4以上
存储系统: DS8000 or DS6000
11.
DB2_EXTENDED_OPTIMIZATION - 是否使用optimization extensions来提高性能
ON/OFF/ENHANCED_MULTIPLE_DISTINCT default: OFF
12.
DB2_IO_PRIORITY_SETTING - 和DB2_EXTENDED_IO_FEATURES组合使用,改变I/O优先度
HIGH:n/MEDIUM:n/LOW:n n = 1-15
AIX ONLY
13.
DB2_KEEP_AS_AND_DMS_CONTAINERS_OPEN - 数据库激活时至少打开一个文件句柄
YES/NO default:NO
因为对SMS有负面影响,只能应用在只有DMS表空间的数据库.
14.
DB2_KEEPTABLELOCK - 数据库系统是否在UR或CS隔离水平下的游标被关闭时仍然保持表锁.
ON/OFF/TRANSACTION/CONNECTION default:OFF
ON/TRANSACTION 锁被保持到事务结束
CONNECTION 锁被保持到回滚或者重置连接.
有可能对某些WORKLOAD产生负面影响.
15.
DB2_LARGE_PAGE_MEM - 是否对可应用内存区域使用LARGE PAGE MEMORY.
*/DB/DBMS/FCM/PRIVATE/NULL default:NULL
只能用在 64bit AIX, LINUX, Windows 2003平台
(16MB+ ?)
16.
DB2MAXFSCRSEARCH - 指定表记录追加时的FSCR(FreeSpace Control Record)数
-1/1–33/554 default:5
空间再利用(大):的INSERT速度(小) 的平衡
17.
DB2_MAX_INACT_STMTS - 单个应用程序保留的最大非激活语句数.
0-4GB default: Not Set
保持太多可能使系统监控堆(heap)消耗完.
18.
DB2_MAX_NON_TABLE_LOCKS - 单个事务锁释放前可否保持最大 NON TABLE LOCK数
Default: YES
NON TABLE LOCK - 甚至在事务完成后依然保持在哈希表和事务链中的锁
19.
DB2_MDC_ROLLOUT - 是否使用MDC表删除中的roll out特性
IMMEDIATE/OFF/DEFER default:IMMEDIATE
roll out是一种快速删除方法,当检测到整个CELL被删除时启动roll out方法会减少日志和更有效的处理.
------------------
20.
DB2MEMDISCLAIM - 是否释放内存
YES/NO default:YES
AIX only
NULL - 当内存释放时,放弃部分或所有内存
YES - 根据DB2MEMMAXFREE的设定,放弃部分或所有内存.
如果DB2MEMMAXFREE被设置,则超过DB2MEMMAXFREE的部分被放弃.
而DB2MEMMAXFREE内的内存可以马上被使用.

21.
DB2MEMMAXFREE - 每个DB2代理保留的最大内存
0–2.0e+32 bytes default: 8,388,608 bytes(8M)
和DB2MEMDISCLAIM联用.

22.
DB2_MEM_TUNING_RANGE - 为指定的实例保留的物理内存
百分比序列[MinFree, MaxFree] default: NULL
推荐仅在下述两种情况下使用.
1.STMM有效并且database_memory=AUTOMATIC时
2.内存不足

23.
DB2_MMAP_READ - 和DB2_MMAP_WRITE联用使DB2可以使用mmap作为I/O方法的替代.
ON/OFF default:OFF
AIX only. 当多个进程读相同文件的不同部分时候,mmap可以避免OS锁.
mmap: Unix/Linux下的系统调用. mmap系统调用使得进程之间通过映射同一个普通文件实现共享内存。
要映射的长度在调用mmap()的时候指定.简单说就是把一个文件的内容在内存里面做一个映像。
快速file I/O的一种方式.

24.
DB2_MMAP_WRITE - 参见23.
ON/OFF default:ON
AIX only. 当多个进程写相同文件的不同部分时候,mmap可以避免OS锁.

25.
DB2_NO_FORK_CHECK - 是否RUNTIME CLIENT最小化检查当前进程是fork调用的结果.
ON/OFF default: OFF
UNIX only 用来提高不使用fork API调用时的性能.

26.
DB2_NO_MPFA_FOR_NEW_DB - 是否数据库创建时使用了MPFA(multipage file allocation)
YES default: Not Set
MPFA: 使SMS表空间的文件空间扩展时,扩展一个extent而不是一个page。(缺省)

27.
DB2NTMEMSIZE - 覆盖DB2缺省设置.
DBMS: [NumberOfBytes]
FCM: [NumberOfBytes]
DBAT: [NumberOfBytes]
APLD: [NumberOfBytes]
Default:
DBMS:16,777,216;
FCM:22,020,096; DBAT:
3,554,432; APLD:
16,777,216
WINDOWS ONLY.WINDOWS需要在DLL初始化时所有共享内存段被保留来保证跨进程地址匹配.
通常缺省设置OK.

28.
DB2NTNOCACHE - 是否使用文件缓存.适用于LONG和LOB以外的数据.
ON/OFF default: OFF
WINDOWS ONLY

29.
DB2_OVERRIDE_BPF - 设置隐藏缓冲池大小.
正数(4K) default: null
30.
DB2_PINNED_BP - 是否已使用的数据1全局内存被保留在系统主内存里.
NO/YES default: NO
AIX. HP-UX, Linux Only
主内存里空间更连续.
on 64bit AIX,database share memmory->STMM+database_memory=AUTOMATIC必要

31.
DB2PRIORITIES - 平台依赖,控制DB2进程或线程的优先权.

32.
DB2_RESOURCE_POLICY - 平台依赖,设置资源的使用策略.

33.
DB2_SET_MAX_CONTAINER_SIZE - 有AUTORESIZE特性的自动存储表空间上单个容器的最大尺寸.
-1, any positive integer greater than 65 536 bytes, default: Not Set

34.
DB2_SKIPDELETED - DB2_EVALUNCOMMITTED未使用时,设置CS/RS下的语句是否无条件跳过索引存取时的键删除和表存取是的行删除
DB2_EVALUNCOMMITTED使用时,行删除被自动跳过,但type-2索引里未提交伪删除键不会被跳过,
除非DB2_SKIPDELETED也被设置.
ON/OFF default: OFF

35.
DB2_SKIPINSERTED - 设置CS/RS下的语句是否跳过未提交行插入
ON/OFF default: OFF

36.
DB2_SMS_TRUNC_TMPTABLE_THRESH - SMS临时表空间下的最小文件尺寸
-1, 0–n, 扩展数/SMS临时表容器 Default: 0
-1 - 临时表不再需要了也不截断,无限制(受限于系统资源)
0 - 临时表不再需要时截断为0扩展

37.
DB2_SORT_AFTER_TQ - 当收到结束请求数据被排序并且发送和接受在同一节点时,
分区数据库中优化器是否直接和表队列协同工作.
YES: 发送未排序数据,在接收端排序
NO: 发送端排序,在接收端合并
NO/YES default: NO

38.
DB2_SELUDI_COMM_BUFFER - 标识是否查询结果可以保存在临时表里.
Update,Insert,Delete上的SELECT块游标处理.
ON - 上述块游标打开时,数据库系统尝试在CBMA(communication buffer memory area)缓存整个查询结果
ON/OFF default: OFF

39.
DB2_TRUSTED_BINDIN - 是否在嵌入非防护存储进程里的SQL和XQuery绑定中,进行从外部SQLDA格式到内部DB2格式的转换.
NO - 无转换.加速语句的处理过程.
ON/OFF/CHECK default: OFF

40.
DB2_USE_ALTERNATE_PAGE_CLEANING - 是否使用替代的页清除算法
ON - DB2系统写改变的页到磁盘,保持LSN_GAP在前和主动寻找需要被写的页.
可以更好的利用磁盘I/O的带宽.当这个参数被设置时,chngpgs_thresh的设置将不再起作用.
ON/OFF default: Not Set
01-04 是对数据库系统有整体影响的环境和注册表变量的总结.
修改前要经过仔细的检查和测试.

要记住所有这些参数的作用对DBA真是个恶梦!
还是在实践中摸索吧.
dbm设定

1.
agentpri - 所有代理 实例的进程和线程的执行优先权
-1,41-128(unix) or 0-6(windows) default -1

2.
aslheapsz - DB2代理和本地客户端程序之间的共享内存.
1-524,288(4K) default 15

3.
audit_buf_sz - 存储audit记录的缓存. 0-不缓存.
0-65,000(4K) default:0

4.
intra_parallel - 分区内部并行
SYSTEM/YES/NO default:NO

5.
java_heap_sz - java使用的堆.(java sp or udf)
0-524,288(4k) default: 2048 or 4096(hp-ux only)

6.
max_connections - 最大连接数
AUTOMATIC/-1/1-64000 default: -1

7.
max_coordagents - 最大协调代理数
AUTOMATIC/-1/1-64000 default:200

8.
maxfilop - 每应用程序打开最大文件数.(db2 9.5 采用线程模型,所以在9.5里代表数据库可打开最大文件)
2-1950(unix)、2-32768(windows) default:64

9.
max_querydegree - 分区内最大查询并行度
ANY/1-32767 default: ANY

10.
num_poolagents - 代理缓冲池.
AUTOMATIC/0-640000 default:100

11.
rqrioblk - 远端应用程序和对应的代理之间的缓存.
4096-65535(bytes) default: 32767

12.
sheapthres - 实例范围私有排序操作的内存软限制.
0–2,097,152(4k) default:0

13.
util_impact_lim - 对数据库工作负载影响的百分比
1-100(percent) default:10

db设定

1.
avg_appls - 正常使用数据库的活动应用程序平均数.SQL优化器用来评估可以获取的缓冲池内存.
AUTOMATIC/1-maxappls default:AUTOMATIC

2.
catalogcache_sz - 系统CATLOG信息的缓存.
-1/8-524288(4K) default: -1

3.
chngpgs_thresh - 异步页清理器的触发阀值之一.缓冲池里已改变页面的百分比
5-99 percent default:60

4.
database_memory - 数据库内存需要.STMM
AUTOMATIC/COMPUTED/1-14,294,967,295 default:AUTOMATIC

5.
dft_degree - 缺省并发度
ANY/-1/1-32767 default: 1

6.
locklist - 锁使用最大内存数
AUTOMATIC/4–524,288(4K) default:AUTOMATIC

7.
logbufsz - 日志缓存
4-4096(32bit)/4-65535(64bit) default: 8

8.
maxlocks - 锁升级前,单个应用程序所占锁内存的最大百分比
1-100(percent)default:AUTOMATIC

9.
min_dec_div_3 - 最少带小数点后3位进行数字运算
YES/NO default:NO

10.
mincommit - 日志写入磁盘前最小的提交SQL数目.
1-25 default:1

11.
num_iocleaners - 异步页清理器数
AUTOMATIC/0–255 default:AUTOMATIC

12.
num_ioservers - IO服务器数.用来预取或在工具里执行异步I/O.

13.
pckcachesz - 包缓存.
AUTOMATIC/32–128,000(32-bit)/32–524,288 (64-bit) default: AUTOMATIC

14.
self_tuning_mem - 自动内存调整
OFF/ON default: ON

15.
seqdetect - 实例是否监控I/O,顺序读发生时,可以代替DB激活I/O预取
YES/NO default:YES

16.
sheapthres_shr - 用来排序的最大内存数. 0-所有排序在共享内存里执行.
AUTOMATIC/0/250–2,097,152 (32-bit)/250–2,147,483,647 (64-bit) default:AUTOMATIC

17.
sortheap - 私有排序时能够使用的最大私有内存数或者共享排序中能使用的最大共享内存数
AUTOMATIC/16–524,288(32-bit)/16–4,194,303/Default: AUTOMATIC
[/size][/size]

猜你喜欢

转载自tianyihuyidao9.iteye.com/blog/1703574