zoukankan      html  css  js  c++  java
  • SS命令和Netstat命令比较

    在Linux中,netstat已经不为推荐,取而代之的是ss。

    如果没有ss命令,可以如下安装:
    [root@wang ~]# yum install iproute iproute-doc

    当服务器维持30000个socket连接时,使用netstat和ss命令统计连接数的耗时情况如下
    [root@wang ~]# netstat -at | wc -l     //耗时15.60秒
    [root@wang ~]# ss -atr | wc -l          //耗时5.40秒(未利用tcp_diag)
    [root@wang ~]# ss -atr | wc -l         //耗时0.47秒(利用tcp_diag)

    ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。原因如下:

    1)当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会有切身的感受,
      但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。
    2)而ss快的秘诀在于它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,
      这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢(但仍然比 netstat要快)。

    ss常用参数

    1)查看当前服务器的网络连接统计。
    在服务器产生大量sockets连接时,一般常会使用这个命令做宏观统计。
    [root@wang ~]# ss -s
    2)查看所有打开的网络端口
    如果使用-pl参数的话,则会列出具体的程序名称
    [root@wang ~]# ss -l
    3)想查看这台服务器上所有的socket连接
    如果只想查看TCP sockets,那么使用-ta选项;
    如果只想查看UDP sockets,那么使用-ua选项;
    如果只想查看RAW sockets,那么使用-wa选项;
    如果只想查看UNIX sockets,那么使用-xa选项。

    netstat的使用:

    1)netstat参数和使用
    常用参数-anplt
    -a 显示所有活动的连接以及本机侦听的TCP、UDP端口
    -l 显示监听的server port
    -n 直接使用IP地址,不通过域名服务器
    -p 正在使用Socket的程序PID和程序名称
    -r 显示路由表
    -t 显示TCP传输协议的连线状况
    -u 显示UDP传输协议的连线状况
    -w 显示RAW传输协议的连线状况

    参照:https://www.cnblogs.com/kevingrace/p/6211509.html

  • 相关阅读:
    openssl对数组加密解密的完整实现代码
    OpenSSl 加密解密 示例(终于有编程实践了)
    QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)
    Ubuntu 14.04远程登录服务器--openssh的安装和配置简明步骤
    可复用的批量文件修改工具
    TFS二次开发、C#知识点、SQL知识
    Backbone.js的技巧和模式
    Hibernate:如何映射聚合?
    JavaScript之创建对象
    为什么选择MongoDB?
  • 原文地址:https://www.cnblogs.com/topass123/p/13019259.html
Copyright © 2011-2022 走看看