linux性能系列--网络
2013-11-28 23:44
393 查看
一、为啥网络监控不好做
?
回答:网络是所有子系统中最难监控的了。首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内。这些因素包括,延迟、冲突、阻塞等 等。由于网络监控中,需要查看许多设备的状态和参数,需要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: 按第二层地址分类显示网络流量统计信息
六、网络性能指标
Packets received and sent - 已接收和已发送的数据包数Packets received and sent描述特定网卡已接收和已发送的数据包数。
Bytes received and sent - 已接收和已发送的字节
Bytes received and sent描述特定网卡已接收和已发送的字节数。
Collisions per second - 每秒钟冲突数
Collisions per second描述指定网卡上每秒发生的网络冲突数量。如果持续出现冲突值表示网络基础架构存在性能瓶颈,而并非服务器。在大多数正常配置的网络中,冲突是非常罕见的,除非是由hub组成的网络基础架构。
Packets dropped - 丢弃的数据包数
Packets dropped描述被内核丢弃的数据包数,出现丢包的原因可能是防火墙配置有误或者网络缓存不够。
Overruns – 溢出次数
Overruns描述网络接口缓存空间溢出的次数。Overruns指标与Packets dropped指标联合查看可以推断出性能瓶颈是在网络缓冲还是网络队列长度中。
Errors - 错误
Errors描述被标示为错误的帧数量。引起Error的原因通常是网络不匹配或部分网络电缆损坏。部分网络电缆损坏是基于铜线的千兆网主要的性能瓶颈。
七、其他资料
MTU 检测和设置(linux平台)Mcpack、Interface和protocol buffer 性能测试
Netperf性能测试工具调研
ub网络通信warning日志分析方法
双网卡测试的方法
相关文章推荐
- 网易面试题---来源于网络
- 分析淘宝网络框架tbnet
- Linux 上的基础网络设备详解
- 使用事件驱动模型实现高效稳定的网络服务器程序
- 基于TCP和多线程实现无线鼠标键盘-Socket(2)
- xp中设置网络桥
- 利用ServerSocket获取浏览器http协议内容
- 关于利用Tcp库来实现文件传输
- HttpWebResponse类的常用属性和方法
- C++网络通信编程一:基础
- Linux系统平台下安装tcpdump问题解决
- http请求过程、POST和GET的区别
- 【自由谈】城域网IPv6过渡技术——NAT64+DNS64
- 基于TCP和多线程实现无线鼠标键盘-Socket(1)
- servlet 服务器HTTP响应头设置示例(response用法)
- servlet 服务器HTTP请求头说明
- TCP、UDP和HTTP
- PDU短信编解码格式说明 官网http://www.3gpp.org/DynaReport/27-series.htm
- 通过压缩数据提高Domino网络传输性能
- 学习脚步--- HttpClient4.0