客户的SUN小鸡,CPU型号为0 1580 MHz SUNW,UltraSPARC-T2+ on-line 该机器配备了2颗这种CPU共计128个线程,看起来很猛,CPU利用率一直在4%左右上个星期做优化时,提前备份一张56G的表,备份了1个小时。。。但是为了安全没管,看了没异常只有等今天测试了下,备份2GB多点的表竟然要2分钟SQL> set timing onSQL> create table bill.zhangqiaoc_DAILYSESSION_bak tablespace idr_ts nologging 2 as select * from bill.DAILYSESSION_TABLE partition(DAILYSESSION_P_20120425) 3 ;±íò?′′?¨?£ò?ó?ê±??: 00: 02: 06.9710046跟了下,主要都消耗在了CPU上call count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 1 0.03 0.02 0 0 0 0Execute 1 93.66 121.34 302682 306188 322252 11408267Fetch 0 0.00 0.00 0 0 0 0------- ------ -------- ---------- ---------- ---------- ---------- ----------total 2 93.69 121.36 302682 306188 322252 11408267使用并行也没改善,更慢SQL> create table bill.zhangqiaoc_DAILYSESSION_bak tablespace idr_ts nologging 2 as select /*+full(a) parallel(a,32)*/* from bill.DAILYSESSION_TABLE partition(DAILYSESSION_P_20120425) a;±íò?′′?¨?£ò?ó?ê±??: 00: 02: 45.57需要把CREATE也并行起来,速度才大幅度提升SQL> create table bill.zhangqiaoc_DAILYSESSION_bak parallel 32 tablespace idr_ts nologging 2 as select /*+full(a) parallel(a,32)*/* from bill.DAILYSESSION_TABLE partition(DAILYSESSION_P_20120425) a;±íò?′′?¨?£ò?ó?ê±??: 00: 00: 21.69按理来说,以前在IBM的机器上,SELECT并行就足够,CREATE并行几乎是无提升的很怀疑这个CPU的处理能力,写了段C代码测试#include"stdio.h"main() { int s,i,x; x=0; while (x<100000){ s=0; for(i=1;i<=100000;i++) { s=s+i; } x++; } printf("%d",s);}测试结果让我大跌眼镜在我的虚拟机上,运行只要2.47s,而客户的机器,需要24.53s....一个数量级的差距啊网上对于SUN的这个CPU的描述:UltraSPARC T2 Plus每个硅晶片上放置了8个核心,每个核心支持8线程,每个芯片的线程总数为64。主频速度最高可达1.4GHz的UltraSPARC T2 Plus更侧重于多核/多线程合计能执行的性能,而不是像POWER6那样将重点放在每个高主频设计的单个线程的性能。POWER6每个线程的性能都遥遥领先,而UltraSPARC T2 Plus packages每个机架容纳的线程总数则独占鳌头。估计适合大量并发的OLTP系统,看起来牛,实际真的没那么好用
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8242091/viewspace-723079/
,如需转载,请注明出处,否则将追究法律责任。