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)的更多相关文章

  1. 网卡最大传输单位MTU和巨型帧(Jumbo frame)设置

    1. 背景:在1998年,Alteon Networks 公司提出把Data Link Layer最大能传输的数据从1500 bytes 增加到9000 bytes,这个提议虽然没有得到IEEE 80 ...

  2. 大礼包!ANDROID内存优化(大汇总)

    写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在A ...

  3. android app性能优化大汇总(内存性能优化)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...

  4. ANDROID内存优化——大汇总(转)

    原文作者博客:转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! ANDROID内存优化(大汇总——上) 写在最前: 本文的思路主要借鉴了20 ...

  5. ANDROID内存优化(大汇总——中)

    转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上 ...

  6. android app性能优化大汇总

    这里根据网络上各位大神已经总结的知识内容做一个大汇总,作为记录,方便后续“温故知新”. 性能指标: (1)使用流畅度:  图片处理器每秒刷新的帧数(FPS),可用来指示页面是否平滑的渲染.高的帧率可以 ...

  7. ANDROID内存优化(大汇总——全)

    写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在A ...

  8. web前端之HTML的大框架(body元素与frameset元素)

    web前端之HTML的大框架      body元素与frameset元素 对于从事html的人员来说,我们一般熟悉的框架是先声明html ,然后在<html>标签对里包着<head ...

  9. 对比深度学习十大框架:TensorFlow 并非最好?

    http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow ...

随机推荐

  1. high volume logging

    logging 是现在系统中必不可少的组件了.市面上已经有很多很多非常成熟的日志产品,log*系列就是一个典型代表.对于erlang系统来说,也有很多,比如error_logger, disk_log ...

  2. PHP移动互联网开发笔记(5)——文件的上传下载

    原文地址:http://www.php100.com/html/php/rumen/2014/0326/6706.html 一.文件的上传 1.client设置: (1).在 标签中将enctype和 ...

  3. Oracle 经常使用的改动语句

    一.表Table 測试表:MY_TEST_TABLE -- Create table create table MY_TEST_TABLE ( A VARCHAR2(30), B NUMBER(10) ...

  4. DRP——Servlet(一)

    Servlet Servlet是用java语言编写的程序,执行在Webserver上,用来处理来自client的请求:通常会把处理的结果以HTML的形式返回,在client形成动态网页.事实上能够理解 ...

  5. PB+MS SQL+触发器必须指出

    PB+MS SQL+触发器必须指出: 若触发器存在两笔以上的返回值,比方两条update 语句,被误判为数据有改变.存盘不成功. 提示: Row changed between retrieve an ...

  6. EasyUI - LinkButton 按钮控件

    效果: html代码: <div> <a href ="abc.html" id="btn">添加</a> </div ...

  7. TestNg JAVA 自动化单元测试框架Demo

    TestNg TestNg 是java的一个自动化单元测试框架 参考:http://testng.org/doc/index.html 环境准备 既然是java 的自动化单元测试框架,就必须要有jav ...

  8. shell telnet 路由器

    #!/usr/bin/expect -f spawn telnet 172.16.1.80 expect "login" { send "admin\n" ex ...

  9. AngularJS之Service4

    AngularJS之Service(四)   前言 前面我们讲了控制器.过滤器以及指令,这一节我们来讲讲重大内容之一服务和其中涉及到的工厂. 话题 AngularJS中服务可以说是和DI紧密联系在一起 ...

  10. 在DLL中封装的VCL窗体Tab键响应的问题

    在DLL中的子窗体不会响应Tab按键的,这个时候就需要手动去指定Tab键的操作,但是前提是主窗体要向这个窗体发送一个消息,一个Tab键按下的消息.基本顺序是这样的: 1. 主窗体用Hook技术捕获Ta ...