标签归档:MULTICAST

Exadata上网卡参数的优化(主要是IB的MTU不同于一般值)

对比了一下普通主机和Exadata,发现主要的区别在于组播的配置,这个跟Exadata上使用IB的整个网络环境有关系(Infiniband card,IB Switch等等): MTU是Maximum Transmission Unit的缩写。意思是网络上传送的最大数据包。 最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等),MTU也不是越大越好,因为MTU越大,传送一个数据包的延迟也越大;并且MTU越大,数据包中 bit位发生错误的概率也越大。因此,需要针对网络來进行最佳化。 MTU的单位是字节。一般来说,如果本机的MTU比网关的MTU大,大的数据包就会被拆开来传送,这样会产生很多数据包碎片,增加丢包率,降低网络速度。 把本机的MTU设成比网关的MTU小或相同,就可以减少丢包。 一般普通的机器缺省配置组播是缺省值1500,这个跟以太网的帧的设计有关系。 以前,Ethernet一般把数据分割为一定大小的帧(frame)的单位来进行传送接收,但在规格上帧的尺寸被定为1,518字节。 但是随着通讯器材的发展,现在的万兆网等都支持大帧(jumbo frames),帧的尺寸根据机器各种各样,大部分对应9,000~16,000字节左右。 . . 要修改MTU的方法很简单(尽管很多人在RAC环境不正确的修改这个值导致了很多问题): ifconfig eth0 mtu xxxx(你需要设置的值),比如: ifconfig eth0 mtu 9000 修改后,使用 netstat -i 或者ifconfig |grep MTU来查看既可以。 目前,Oracle支持在私有网络(interconnect)使用超过1500的组播(具体设置也要根据前面说的,看环境,不是越大越好。通常没有好的设计,一般不改)。 . . 对于多播(MULTICAST),RAC要求必须开启,这个在Oracle官方的最佳实践中有明确说明: 对于多播的检测,Oracle也提供了详细的方法: 类似下面的,就是多播检测失败的情况: . 关于组播,在普通环境(非Exadata)有一些注意事项: 1,一般就采用缺省的1500,如果超过这个值,需要特殊的配置,具体请参考: … 继续阅读

发表在 体系架构 | 标签为 , , | 留下评论