Linux - 网络性能评估

简介: Linux - 网络性能评估

image.png

概述

网络性能的好坏直接影响应用程序对外提供服务的稳定性和可靠性。 网络性能可以从以下几个方面进行管理和优化。


通过ping命令检测网络的连通性

如果发现网络反应缓慢,或者连接中断,可以通过ping来测试网络的连通情况


image.png


time值显示了两台主机之间的网络延时情况。如果此值很大,则表示网络的延时很大,单位为毫秒。在这个输出的最后,是对上面输出信息的一个总结。packet loss表示网络的丢包率,此值越小,表示网络的质量越高。


通过“netstat –I”命令组合检测网络接口状况


netstat命令提供了网络接口的详细信息


image.png


Iface表示网络设备的接口名称。

MTU表示最大传输单元,单位为字节。

RX-OK/TX-OK表示已经准确无误地接收/发送了多少数据包。

RX-ERR/TX-ERR表示接收/发送数据包时产生了多少错误。

RX-DRP/TX-DRP表示接收/发送数据包时丢弃了多少数据包。

RX-OVR/TX-OVR表示由于误差而遗失了多少数据包。

Flg表示接口标记。其中,各个选项的含义如下。

L表示该接口是个回环设备。

B表示设置了广播地址。

M表示接收所有数据包。

R表示接口正在运行。

U表示接口处于活动状态。

O表示在该接口上禁用arp。

P表示一个点到点的连接。


正常情况下,RX-ERR/TX-ERR、RX-DRP/TX-DRP和RX-OVR/TX-OVR的值都应该为0。如果这几个选项的值不为0,并且很大,那么网络质量肯定有问题,网络传输性能也一定会下降。


通过“netstat –r”命令组合检测系统的路由表信息


在网络不通或者网络异常时,首先就要检查系统的路由表信息。“netstat –r”的输出结果与route命令的输出完全相同

[root@VM-24-3-centos ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 eth0
10.0.24.0       0.0.0.0         255.255.252.0   U         0 0          0 eth0
link-local      0.0.0.0         255.255.0.0     U         0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
[root@VM-24-3-centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 eth0
10.0.24.0       0.0.0.0         255.255.252.0   U     0      0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
[root@VM-24-3-centos ~]#

image.png


重点关注的是default行对应的值,default项表示系统的默认路由,对应的网络接口为eth0。


通过“sar –n”命令组合显示系统的网络运行状态


sar提供4种不同的选项来显示网络统计信息,通过“-n”选项可以指定4个不同类型的开关:DEV、EDEV、SOCK和FULL。


  • DEV显示网络接口信息,
  • EDEV显示关于网络错误的统计数据,
  • SOCK显示套接字信息,
  • FULL显示所有4个开关。


[root@VM-24-3-centos ~]# sar -n DEV 2 3
Linux 3.10.0-1160.11.1.el7.x86_64 (VM-24-3-centos)      03/06/2023      _x86_64_        (2 CPU)
08:25:27 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:25:29 PM      eth0     25.50     12.50     21.82      1.26      0.00      0.00      0.00
08:25:29 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:25:29 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:25:29 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:25:31 PM      eth0     35.00     23.50     25.29      5.13      0.00      0.00      0.00
08:25:31 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:25:31 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:25:31 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:25:33 PM      eth0     28.50     18.00     21.30      2.13      0.00      0.00      0.00
08:25:33 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:25:33 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
Average:         eth0     29.67     18.00     22.80      2.84      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
[root@VM-24-3-centos ~]#


IFACE表示网络接口设备。

rxpck/s表示每秒钟接收的数据包大小。

txpck/s表示每秒钟发送的数据包大小。

rxkB/s表示每秒钟接收的字节数。

txkB/s表示每秒钟发送的字节数。

rxcmp/s表示每秒钟接收的压缩数据包。

txcmp/s表示每秒钟发送的压缩数据包。

rxmcst/s表示每秒钟接收的多播数据包。

通过“sar –n”的输出,可以清楚地显示网络接口发送、接收数据的统计信息。此外还可以通过“sar -n EDEV 2 3”来统计网络错误信息等。


小结


网络问题是简单而且容易处理的,只要我们根据上面给出的命令,一般都能迅速定位问题。解决问题的方法一般是增加网络带宽,或者优化网络部署环境。


除了上面介绍的几个命令外,排查网络问题经常用到的命令还有traceroute(它主要用于跟踪数据包的传输路径),以及nslookup命令(它主要用于判断DNS解析信息)

相关文章
|
3月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
107 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
3月前
|
安全 Linux iOS开发
Tenable Nessus 10.10 (macOS, Linux, Windows) - 漏洞评估解决方案
Tenable Nessus 10.10 (macOS, Linux, Windows) - 漏洞评估解决方案
331 0
Tenable Nessus 10.10 (macOS, Linux, Windows) - 漏洞评估解决方案
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
246 18
|
4月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
208 5
|
4月前
|
安全 Linux iOS开发
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
468 0
Tenable Nessus 10.9.3 (macOS, Linux, Windows) - 漏洞评估解决方案
|
5月前
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
318 5
|
5月前
|
网络协议 Linux 开发者
深入Linux中UDP网络通信机制编程探索
以上步骤概述了Linux中UDP网络通信的编程机制。在实现时,因关注细节和上下文环境可能有所调整,但大致流程是一致的。这些知识片段旨在帮助开发者快速上手Linux下的UDP编程,并提供可靠的信息作为编程的基础。在编程实践中,应结合实际业务需求,设计合适的数据传输协议,确保数据的正确性和实时性。
135 0
|
7月前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
201 18
|
7月前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
468 12
|
12月前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
266 17

热门文章

最新文章