一、为啥网络监控不好做

 
回答:网络是所有子系统中最难监控的了。首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内。这些因素包括,延迟、冲突、阻塞等 等。由于网络监控中,需要查看许多设备的状态和参数,需要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. Redis: under the hood---转载

    http://pauladamsmith.com/articles/redis-under-the-hood.html#redis-under-the-hood How does the Redis  ...

  2. 请别再拿“String s = new String("xyz");创建了多少个String实例”来面试了吧---转

    http://www.iteye.com/topic/774673 羞愧呀,不知道多少人干过,我也干过,面壁去! 这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太多 ...

  3. 基础爬虫,谁学谁会,用requests、正则表达式爬取豆瓣Top250电影数据!

    爬取豆瓣Top250电影的评分.海报.影评等数据!   本项目是爬虫中最基础的,最简单的一例: 后面会有利用爬虫框架来完成更高级.自动化的爬虫程序.   此项目过程是运用requests请求库来获取h ...

  4. ContextMenustrip 控件

    ContextMenustrip 控件是由 System.Windows.Forms.ContextMenustrip类提供,也是ToolstripMenu对象的容器,用来创建窗体的右键显示的菜单,主 ...

  5. 【转载】SQL Server 2012将数据导出为脚本详细图解

    前记: 从SQL SERVER 2008开始,我们就可以很方便的导出数据脚本,而无需再借助存储过程,但是SQL Server 2012和SQL Server 2008的导出脚本的过程还有一点细微的差别 ...

  6. docker 卸载

    1首先搜索已经安装的docker 安装包 [root@localhost ~]# yum list installed|grep docker 或者使用该命令 [root@localhost ~]# ...

  7. Easyui combogrid添加toolbar

    近一段时间一直在做Easyui的一个项目.官方的资料 API有些不全,把自己遇到的解决的问题发出来希望能帮助到大家. combogrid这个控件绑定了一个DataGrid,API也没有说可以绑定Too ...

  8. BZOJ1021 [SHOI2008]循环的债务

    Description Alice.Bob和Cynthia总是为他们之间混乱的债务而烦恼,终于有一天,他们决定坐下来一起解决这个问题. 不过,鉴别钞票的真伪是一件很麻烦的事情,于是他们决定要在清还债务 ...

  9. JavaScript的进阶之路(四)理解对象1

    对象是JavaScript的基本数据类型.简单的名值对组成了对象,BUT:还可以从一个被称为原型的对象继承属性,对象的方法通常就是继承的属性. 对象最常见的用法有:创建.设置.查找.删除.检测.枚举它 ...

  10. vsftpd for Anonymous Downloads on Ubuntu 16.04

    Introduction FTP, short for File Transfer Protocol, is a network protocol that was once widely used ...