一、为啥网络监控不好做

 
回答:网络是所有子系统中最难监控的了。首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内。这些因素包括,延迟、冲突、阻塞等 等。由于网络监控中,需要查看许多设备的状态和参数,需要root权限才可以,建议测试时如果判断是是网络问题的话,请机器维护人员协助。

二、网卡带宽对压力测试有什么影响

回答:对于压力较大,或者数据流量较大的服务,比如空间图片服务,可能会出现由于网卡跑满,而压力上不去的现象,此时机器负载较为正常,但压力上不去。这对于测试环境,这是一个比较容易的现象。 比如 zjm机房的出口是百兆的,很容易压满。此时需要根据情况,将压力分布开。

当然也有一些模块,网卡本身就是瓶颈。了解网卡带宽对压力的影响,也有助于在分析时得出正确的判断。

三、timewait 对服务极限压力有何影响

回答:对于常见的CS关系的网络交互服务,当client 主动close,会进入timewait 状态,但此时socket 仍然被占用,无法回收,这一请情况可能会影响 链接的并发压力,因为大量的socket处于timewait 状态会使client 句柄耗尽。 一般情况,短连接压倒 400~500 就已经不稳定了。

缓解这一问题的,一般而言,有下面四种:

1. 逻辑实现上,尽量 server 端主动关闭。

2. 设置 SO_LINGER close.

这是一种不太体面的做法, 因为它触发的不是一个正常的结束。并且抹杀了TIME_WAIT 状态存在的意义: 网络上可能还有数据在传送,若此socket的 替身出现,会收不到该收的包。

3. 打开端口复用和快速回收

4. 修改系统timewait 时间,上面三个是应用层的方法,这是一个需要修改系统kernel的方法。

四、netstat是常用工具之一

如果你需要了解网络信息,那应该对它非常熟悉。它可以显示许多网络相关信息如套接字使用情况、路由、接口、协议、网络数据统计等。下面是以下基本的选项:

-a :显示所有套接字信息
-r :显示路由信息
-i :显示网络接口信息
-s :显示网络协议信息
 
 

五、其他工具

1)ifconfig:可设置网络设备的状态,或是显示目前的设置。

2)Ethtool是用于查询及设置网卡参数的命令,需要管理员的权限。

概要:
   ethtool ethX      //查询ethX网口基本设置
   ethtool –h        //显示ethtool的命令帮助(help)
   ethtool –i ethX    //查询ethX网口的相关信息 
   ethtool –d ethX    //查询ethX网口注册性信息
   ethtool –r ethX    //重置ethX网口到自适应模式
   ethtool –S ethX    //查询ethX网口收发包统计
   ethtool –s ethX [speed 10|100|1000]\         //设置网口速率10/100/1000M
   [duplex half|full]\           //设置网口半/全双工
   [autoneg on|off]\            //设置网口是否自协商
   [port tp|aui|bnc|mii]\         //设置网口类型
   [phyad N]\                 
   [xcvr internal|exteral]\
   [wol p|u|m|b|a|g|s|d...]\
   [sopass xx:yy:zz:aa:bb:cc]\
   [msglvl N]

   3)iptraf可以实时监控TCP/IP网络流量并实时生成报告。它可以显示每个会话、接口、协议的TCP/IP流量的统计信息。iptraf是由iptraf工具包提供的,只有system administrator才能使用。
   iptraf为我们提供如下信息:
   IP traffic monitor: TCP连接的网络流量统计信息
   General interface statistics: 网络接口的IP流量统计信息
   Detailed interface statistics: 按协议分类显示网络流量统计信息
   Statistical breakdowns: 按TCP/UDP和封包大小分类显示网络流量统计信息
   LAN station monitor: 按第二层地址分类显示网络流量统计信息

六、网络性能指标

  1. Packets received and sent - 已接收和已发送的数据包数
    Packets received and sent描述特定网卡已接收和已发送的数据包数。
  2. Bytes received and sent - 已接收和已发送的字节
    Bytes received and sent描述特定网卡已接收和已发送的字节数。
  3. Collisions per second - 每秒钟冲突数
    Collisions per second描述指定网卡上每秒发生的网络冲突数量。如果持续出现冲突值表示网络基础架构存在性能瓶颈,而并非服务器。在大多数正常配置的网络中,冲突是非常罕见的,除非是由hub组成的网络基础架构。
  4. Packets dropped - 丢弃的数据包数
    Packets dropped描述被内核丢弃的数据包数,出现丢包的原因可能是防火墙配置有误或者网络缓存不够。
  5. Overruns – 溢出次数
    Overruns描述网络接口缓存空间溢出的次数。Overruns指标与Packets dropped指标联合查看可以推断出性能瓶颈是在网络缓冲还是网络队列长度中。
  6. Errors - 错误
    Errors描述被标示为错误的帧数量。引起Error的原因通常是网络不匹配或部分网络电缆损坏。部分网络电缆损坏是基于铜线的千兆网主要的性能瓶颈。

七、其他资料

linux性能系列--网络的更多相关文章

  1. linux性能系列--块设备

    一.啥是块设备呢? 回答:I/O设备大致分为两类:块设备和字符设备.块设备将信息存储在固定大小的块中,每个块都有自己的地址.数据块的大小通常在512字节到32768字节之间.块设备的基本特征是每个块都 ...

  2. linux性能系列--内存

    一.啥是内存呢? 回答:内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁.计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大. 内存(Memory)也被称为内存储器, ...

  3. linux性能系列--cpu

    一.先看看什么是CPU? 回答:中央处理器(Central Processing Unit)的缩写,即CPU,CPU是电脑中的核心配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算核心和 ...

  4. 一文掌握 Linux 性能分析之网络篇(续)

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 这是 Linu ...

  5. 一文掌握 Linux 性能分析之网络篇

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. 这是 Linu ...

  6. 【转】一文掌握 Linux 性能分析之网络篇(续)

    [转]一文掌握 Linux 性能分析之网络篇(续) 在上篇网络篇中,我们已经介绍了几个 Linux 网络方向的性能分析工具,本文再补充几个.总结下来,余下的工具包括但不限于以下几个: sar:统计信息 ...

  7. 【转】一文掌握 Linux 性能分析之网络篇

    [转]一文掌握 Linux 性能分析之网络篇 比较宽泛地讲,网络方向的性能分析既包括主机测的网络配置查看.监控,又包括网络链路上的包转发时延.吞吐量.带宽等指标分析.包括但不限于以下分析工具: pin ...

  8. 《linux性能及调优指南》 3.5 网络瓶颈

    3.5 Network bottlenecks A performance problem in the network subsystem can be the cause of many prob ...

  9. Linux性能监控工具sysstat系列简介

    简介 sysstat提供了Linux性能监控的工具集,包括sar.sadf.mpstat.iostat.pidstat等,这些工具可以监控系统性能和使用情况.各工具的作用如下: iostat - 提供 ...

随机推荐

  1. C++实现二叉排序树

    1.定义 二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树. 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子 ...

  2. [PY3]——pwd | grp 模块

    pwd和grp模块都非常简单粗暴,各自分别下面都只有三个函数,来根据/etc/passwd./etc/group文件获取相关信息 getpwuid(UID):根据UID获取用户信息,返回一个list ...

  3. as3中xml文件的加载和读取

    ---恢复内容开始--- as代码如下: xml如下: 总结: 用URLReuqest对象加载xml的url 创建一个URLLoader对象,将1中的URLRequest指定给他 给URLLoader ...

  4. nodejs初印象

    初学Nodejs,特意在此记录学习过程,算是对这段时间的一个summary吧,相互勉励,共同进步嘛,Now Begin: 1.什么是nodejs nodejs 是一种基于事件驱动.非阻塞I/O模型,用 ...

  5. SpringMVC笔记:annotation注解式开发

    一.配置式开发 在我们之前的学习中,springmvc使用配置式开发模式,需要在核心配置文件中springmvc.xml注册大量的bean来注入controller控制器,工作繁琐容易出错,下面我们学 ...

  6. yum卸载

    完全卸载依赖 -- 正常安装 yum install sl -- 列出操作 yum history list sl -- 根据显示install操作的id进行删除 yum history undo { ...

  7. 认识Groovy

    什么是groovy: Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同. 在编写新应用 ...

  8. 工作经验:mybatis 处理 oracle Long 类型

    前言:mybatis 接收 oracle 中 LONG 类型的,报错:无效的列类型: getCLOB not implemented for class oracle.jdbc.driver.T4CL ...

  9. K:顺序表和链表的比较

     顺序表和链表是线性表的两种基本实现形式(链表还有多种变化形式),对于这两种实现方式,没有一种方法可以称是最好的,他们各自有着各自的特点和优缺点,适用于不同的应用场景.  与顺序表相比,链表较为灵活, ...

  10. MySQL的约束、多表查询、子查询

    一.约束之主键约束 约束:约束是添加在列上的,用来约束列的. 1.主键约束(唯一标识):非空.唯一.被引用 当表的某一列被指定为主键后,该类就不能为空,不能有重复值出现 创建表时指定主键的两种方式: ...