热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

调谐mysql网络性能之调试工工具工具篇_MySQL

调谐mysql网络性能之调试工工具工具篇
本文是介绍管理Linux系统网络性能技巧的文章,主要介绍了route、netstat、tcpdump三种网络管理测试工具的使用方法及其可实现的功能。

route

在配置网络时,要为机器指定接收数据包时该包要经过的路径。在Linux系统中,提供一个命令route,这个命令可以为ifconfig命令配置的网卡设置静态路由。这种设置工作通常在/etc/rc.d/rc.inet1中引入,在系统引导时进行。

我们通过几个例子来说明如何使用route命令:
route add -net 127.0.0.0

这个命令将向路由表中添加一个指定地址或者网络的路由。注意此时网络为A类地址,掩码被设置为255.0.0.0,这个新添加的条目被连接到lo设备上。

route add -net xxx.xxx.xxx.xxx netmask 255.255.255.0 dev eth0

这个命令为IP地址为xxx.xxx.xxx.xxx的主机增加一个路由,它的网络掩码被设置为255.255.255.0。

route del -net xxx.xxx.xxx.xxx

此命令将删除xxx.xxx.xxx.xxx这个网络的路由。

使用route命令还可以很方便地对整个网络的路由信息进行管理,其输出结果是网络的路由表。如下所示:

-----------------------------------------------------------------

[root@lee /root]#route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.10.8.224 * 255.255.255.255 UH 0 0 0 eth0

10.10.8.0 * 255.255.255.0 U 0 0 0 eth0

127.0.0.0 * 255.0.0.0 U 0 0 0 lo

default dgc8.njupt.edu 0.0.0.0 UG 0 0 0 eth0

default dgc8.njupt.edu 0.0.0.0 UG 1 0 0 eth0

[root@lee /root]#

-----------------------------------------------------------------


输出结果中各个字段的含义是:

·Destination表示路由的目标IP地址。

·Gateway表示网关使用的主机名或者是IP地址。上面输出的"*"表示没有网关。

·Genmask表示路由的网络掩码。在把它与路由的目标地址进行比较之前,内核通过Genmask和数据包的IP地址进行按位"与"操作来设置路由。

·Flags是表示路由的标志。可用的标志及其意义是:U表示路由在启动,H表示target是一台主机,G表示使用网关,R表示对动态路由进行复位设置;D表示动态安装路由,M表示修改路由,!表示拒绝路由。

·Metric表示路由的单位开销量。

·Ref表示依赖本路由现状的其它路由数目。

·Use表示路由表条目被使用的数目。

·Iface表示路由所发送的包的目的网络。

通过查看这些输出信息,我们就可以方便地管理网络的路由表了。

netstat

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。在计算机上执行netstat后,其输出结果如下所示:

-----------------------------------------------------------------

[root@lee /root]#netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Types State I-Node Path

Unix 5 [ ] DGRAM 460 /dev/log

Unix 0 [ ] STREAM CONNECTED 173 @00000014

Unix 0 [ ] DGRAM 662

Unix 0 [ ] DGRAM 631

Unix 0 [ ] DGRAM 544

Unix 0 [ ] DGRAM 484

Unix 0 [ ] DGRAM 470

[root@lee /root]#

-----------------------------------------------------------------


从整体上看,netstat的输出结果可以分为两个部分:第一部分:是Active Internet connections,称为有源TCP连接,在上面的输出结果中,这一部分没有内容,表示暂时还没有TCP连接。第二部分:是Active UNIX domain sockets,称为有源Unix域套接口。输出结果显示的是Unix域套接口的连接情况:

·Proto显示连接使用的协议。

·RefCnt表示连接到本套接口上的进程号。

·Types显示套接口的类型。

·State显示套接口当前的状态。

·Path表示连接到套接口的其它进程使用的路径名。

可以用netstat -a来查看所有套接字的状态,这在您调试网络程序的时候是非常有用的。netstat -r将显示路由表的内容,一般还要同时指定"-n"选项,这样可以得到数字格式的地址,也可显示默认路由器的IP地址。使用netstat -i则将显示所有的网络接口信息。使用netstat还可以获得当前的网络状态以及网络的拓扑结构,这在实际中是非常有用的。

tcpdump

tcpdump命令用于监视TCP/IP连接并直接读取数据链路层的数据包头。您可以指定哪些数据包被监视、哪些控制要显示格式。例如我们要监视所有Ethernet上来往的通信,执行下述命令:

tcpdump -i eth0

即使是在一个相对平静的网络上,也有很多的通信,所以我们可能只需要得到我们感兴趣的那些数据包的信息。在一般情况下,TCP/IP栈只为本地主机接收入站的数据包绑定同时忽略网络上的其它计算机编址(除非您使用的是一台路由器)。当运行tcpdump命令时,它会将TCP/IP栈设置为promiscuous模式。该模式可接收所有的数据包并使其有效显示。如果我们关心的只是我们本地主机的通信情况,一种方法是使用“-p”参数禁止promiscuous模式,还有一种方法就是指定主机名:

tcpdump -i eth0 host hostname

此时,系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。下面的命令可以读取主机hostname发送的所有数据:

tcpdump -i eth0 src host hostname

下面的命令可以监视所有送到主机hostname的数据包:

tcpdump -i eth0 dst host hostname

我们还可以监视通过指定网关的数据包:

tcpdump -i eth0 gateway Gatewayname

如果你还想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:

tcpdump -i eth0 host hostname and port 80

该命令将显示从每个数据包传出的头和来自主机hostname对端口80的编址。端口80是系统默认的HTTP服务端口号。如果我们只需要列出送到80端口的数据包,用dst port;如果我们只希望看到返回80端口的数据包,用src port。

推荐阅读
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了网络编程的要点,包括InetAddress类获取IP地址的方法,IP地址的定义和表示方法,IPv4和IPv6的区别,以及网络通信协议中的端口和协议类型。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • HSRP热备份路由器协议的应用及配置
    本文介绍了HSRP热备份路由器协议的应用及配置方法,包括设计目标、工作原理、配置命令等。通过HSRP协议,可以实现在主动路由器故障时自动切换到备份路由器,保证网络连通性。此外,还介绍了R1和R2路由器的配置方法以及Sw1和Sw2交换机的配置方法,最后还介绍了测试连通性和路由追踪的方法。 ... [详细]
  • 介绍一款好用的内网穿透工具FRP
    本文介绍了一款好用的内网穿透工具FRP,它是一个使用Go语言开发的高性能的反向代理应用。FRP支持多种协议类型,并且可以根据域名进行路由转发。 ... [详细]
  • 1、Ipv4只能用于内网,外网只能用2、DNS:把域名解析成ip地址3、MAC地址就是物理地址(网卡序列号)   IP地址:电脑序列号4、不同电脑,微信之间互相通信,靠的是端口;  ... [详细]
  • 概述H.323是由ITU制定的通信控制协议,用于在分组交换网中提供多媒体业务。呼叫控制是其中的重要组成部分,它可用来建立点到点的媒体会话和多点间媒体会议 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • 计算机网络计算机网络分层结构
    为了解决计算机网络复杂的问题,提出了计算机网络分层结构。计算机网络分层结构主要有OSI7层参考模型,TCPIP4层参考模型两种。为什么要分层不同产商 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
  • slmp协议和mc协议区别_TCP协议与UDP协议的区别
    TCP协议和UDP协议TCPIP协议是一个协议簇。里面包括很多协议的,UDP只是其中的一个,之所以命名为TCPIP协议,因 ... [详细]
  • UDP千兆以太网FPGA_verilog实现(四、代码前期准备UDP和IP协议构建)
    UDP:userDatagramprotocol用户数据报协议无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETFRFC76 ... [详细]
author-avatar
手机用户2502921001
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有