IBM POWERHA和ORACLE RAC各有什么优缺点?各自更适用于什么场景下?
收起RAC
1、实质上,oracle推出RAC(早期叫ops),强调的是其高可用性,而不是可伸缩性。要充分发挥RAC的性能,应用必须针对RAC的特点进行编程(数据分割及数据路由),否则性能反而下降。远的说,01-02年,那时候江西绿卡系统用的是oracle 7 OPS,在结息的时候都是跑单实例;近期的,象双11,我们的某些系统也是单实例在跑(11.2.0.4 rac+asm)
2、在rac环境下,之前在单实例上不是问题的部分也会引起性能问题,最典型的就是gc类等待事件了,等待从行级锁放大到块级等待,象大集中期间的原型性能压测期间,为了规避一个尾箱表引起的gc等待事件,我们把此表的pctfree放大到99以保证一个数据块上只保留一条记录。
3、rac环境中虽然实例是多个,但存储是单点,如果想增加节点来提高性能的话,只适用于cpu密集型的应用(前提是针对rac的特点编程),如果是io密集型的应用,节点越多估计死得越快。
4、无论是单机还是rac,要特别注意lgwr的性能优化,gc类的等待事件中,log file sync是其中的一步,lgwr对gc的影响是指数级的,我们行的某系统在做灾备切换时,主库与备库基本一致,但备库的性能与主库始终差20%,后面是把备库的logfile member去掉就OK了。
pureScale