开发应该知道的Linux系统分析-网络篇

说到网络,可以先在脑子里面有一个模型,就是你给你老家的父母视频聊天的时候,网络传输时间怎么算?当然你可能会感觉到时很快——毫秒级,但传播时间是存在的,这个跟光纤的传播速度及光信号折射率等有关。

常用网络工具有:

  • 通过ping命令检测网络的连通性
  • 通过netstat –i组合检测网络接口状况
  • 通过netstat –r组合检测系统的路由表信息
  • 通过sar –n组合显示系统的网络运行状态
  • 强大的ss 完爆netstat
  • iperf – 网络性能评测工具netperf – TCP/IP层的网络测试工具
  • tsung – 分布式并发压力测试工具
  • httpsender – http压力测试工具

网络配置ethtool

iptraf

iptraf命令的全拼是“IP traffic monitor”,iptraf命令可以实时地监视网卡流量,可以生成网络协议数据包信息、以太网信息、网络节点状态和ip校验和错误等信息。iptraf命令支持命令行和菜单操作两种方式,当不带任何参数是iptraf命令将进入菜单操作方式,通过屏幕菜单来执行相应操作。执行iptraf-ng如下:

也可以用sar(System Activity Reporter 系统活动情况报告)–n DEV 1 1命令去分析。

最后我们从应用上来讲应用一般分为两类:

CPU 密集型:CPU往往会处于很高的负载,当系统压力上升时,相对于磁盘和内存,往往CPU首先到达瓶颈.Web Server,Mail server以及大部分服务类程序都属于这一类。

I/O 密集型:IO密集型的应用需要消耗大量的内存和存储;这主要是因为应用需要在内存中处理大量的数据并不需要消耗太多CPU和网络(除非是网络存储)IO密集型的应用使用CPU来处理IO请求之后进入内核调度的sleep状态.数据库是常见的IO密集型的应用。

写到这里已经从CPU、内存、IO、网络说了一下开发需要了解的Linux的知识,很多人是学而不习,很多人是习而不学,学是一个维度,习是一个维度。希望新的一年你是个学习的人,知行合一的人,最后祝大家平安,吉祥!