问题描述
系统迁移,由单节点4cpu服务器迁移到双节点rac,32颗cpu系统中,迁移后对特定数据新服务器的处理速度反而不如老服务器。
问题分析
出现两侧代码相同但执行结果相差很大的原因是表SAVE_POINT_CACHE并行度的设置
表SAVE_POINT_CACHE中数据非常少,只有几十条
在系统中表SAVE_POINT_CACHE的并行度设置为default
根据oracle对并行度的算法
Default = parallel_threads_per_cpu * cpu_count
我们系统中两边的设置都是如下的情况
NAMETYPEVALUE
------------------------------------ ----------- ------------------------------
parallel_threads_per_cpuinteger2
也就是每个cpu的并行度为2
老系统中系统共有4颗cpu
prtdiag -v结果片段
========================= CPUs
RunE$CPUCPU
BrdCPUMHzMB Impl.Mask
--- ----- ---- ---- ------- ----
A0, 16 1500 32.0 US-IV+2.4
B1, 17 1500 32.0 US-IV+2.4
A2, 18 1500 32.0 US-IV+2.4
B3, 19 1