首页 > 代码库 > RAC优化之配置大帧(jumbo frame)
RAC优化之配置大帧(jumbo frame)
RAC优化之配置大帧(jumbo frame)
首先讲讲MTU的概念:在网络通信中,有个MTU(Max Transmission Unit)的概念,即网络传输中最大帧的大小,这个值默认是1500Byte(以太网的可变帧大小是46-1500Byte)。
[root@node1 ~]# ifconfig bond0
bond0 Link encap:Ethernet HWaddr C8:1F:66:FB:6F:CD
inet addr:10.10.10.105 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::ca1f:66ff:fefb:6fcd/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:353 errors:29 dropped:0 overruns:0 frame:29
TX packets:254 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:250669 (244.7 KiB) TX bytes:160443 (156.6 KiB)
所以默认配置下,如果次传输的数据超过了1500Byte大小,那么系统会将这个帧拆分成几个帧进行传输:
[root@node1 ~]# traceroute -F node2-priv 1500
traceroute to node2-priv (10.10.10.106), 30 hops max, 1500 byte packets
1 node2-priv.localdomain (10.10.10.106) 0.234 ms 0.217 ms 0.204 ms
[root@node1 ~]# traceroute -F node2-priv 1501
traceroute to node2-priv (10.10.10.106), 30 hops max, 1501 byte packets
1 node1-priv.localdomain (10.10.10.105) 0.024 ms !F-1500 0.005 ms !F-1500 0.004 ms !F-1500
[root@node1 ~]#
再说说在RAC环境中,我们需要注意的一处地方。
RAC私有网络主要是供节点之间进行网络心跳通信的,但除此之外节点间还经常需要通过私有网络进行数据块的传输。在Oracle中一个数据库的大小为8192byte,所以按照默认配置,一个数据块不得不分成几个帧进行传输,这样就加重了私有网络的负载,所以Oracle建议将私有网卡的MTU设置为9000。
下面看看我的修改步骤:
1) 查看私有网卡(在2个节点执行)
[root@node1 ~]# oifcfg getif
em1 192.168.10.0 global public
bond0 10.10.10.0 global cluster_interconnect
2) 设置私有网卡mtu(在2个节点执行)
[root@node1 ~]# ifconfig -s bond0 mtu 9000
已经设置成功了,我们可以通过traceroute或ping来测试下:
1) traceroute
[root@node1 ~]# traceroute -F node2-priv 9000
traceroute to node2-priv (10.10.10.106), 30 hops max, 9000 byte packets
1 node2-priv.localdomain (10.10.10.106) 0.346 ms 0.364 ms 0.413 ms
[root@node1 ~]# traceroute -F node2-priv 9001
traceroute to node2-priv (10.10.10.106), 30 hops max, 9001 byte packets
1 node1-priv.localdomain (10.10.10.105) 0.043 ms !F-9000 0.010 ms !F-9000 0.010 ms !F-9000
[root@node1 ~]#
2) Ping
[root@node1 ~]# ping -c 2 -M do -s 8972 node2-priv
PING node2-priv.localdomain (10.10.10.106) 8972(9000) bytes of data.
8980 bytes from node2-priv.localdomain (10.10.10.106): icmp_seq=1 ttl=64 time=0.552 ms
8980 bytes from node2-priv.localdomain (10.10.10.106): icmp_seq=2 ttl=64 time=0.551 ms
--- node2-priv.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.551/0.551/0.552/0.023 ms
[root@node1 ~]# ping -c 2 -M do -s 8973 node2-priv
PING node2-priv.localdomain (10.10.10.106) 8973(9001) bytes of data.
From node1-priv.localdomain (10.10.10.105) icmp_seq=1 Frag needed and DF set (mtu = 9000)
From node1-priv.localdomain (10.10.10.105) icmp_seq=1 Frag needed and DF set (mtu = 9000)
--- node2-priv.localdomain ping statistics ---
0 packets transmitted, 0 received, +2 errors
[root@node1 ~]#
RAC优化之配置大帧(jumbo frame)