【问题标题】:How to get ethernet channel loading如何获得以太网通道加载
【发布时间】:2017-08-05 20:28:18
【问题描述】:

下午好!与特定问题相撞。帮我做决定。


Given:基于 Debain 操作系统的 ftp 服务器。一些用户正在下载文件。每个连接都有不同的下载速度。最大服务器上传速度 — 100 Mbit\sec

要求:通过上传速度获取频道加载速度。必须每 n 秒进行一次统计(例如,使用模式“Observer”)。结果必须是数字 - 当前上传 kbit\sec 的计数。

问题:我怎样才能获得这样的上传速度?也许,Java Core 库或外部库中存在方法,提供了获得当前上传速度的机会,或者可以使用其他方法实现?


可能的决定:我发现只有一个决定——从控制台 Linux 程序中获取统计数据并解析它。调用程序可以使用方法exec。但是,我发现的所有程序都很难解析,因为它们有自己的“控制台窗口”并且动态工作。我很想找到更合适的变种。

【问题讨论】:

  • 为什么这和Java有关系?
  • 以前曾在此处发布过类似的问题,例如stackoverflow.com/q/10471767/1328439
  • @JoeC 显然 O.P. 正在从 Java 应用程序监视他的 ftp 服务器。我相信java 标签在这里应用正确。
  • ty Dmitri Chubarov
  • @JoeC,德米特里说得对。我想监控我的系统。

标签: linux ubuntu debian ethernet


【解决方案1】:
  • netdiag 包提供了两个有用的工具来监控网络 :netwatchnetload

    netload 将每秒显示所有收到的 / 传输的字节数和总数。

    用法:netload <interface>

    netwatch 将有助于列出远程主机 传输的数据。

  • speedometer 命令将显示传输的图表 终端上的数据,可以通过apt安装。用法:

    speedometer -r <interface> -t <interface>

  • vnstat 命令将显示实时 TX/RX 等信息。

    vnstat -l -i <interface>

man vnstat:

vnStat 是一个基于控制台的网络流量监控器。它保持每小时的日志, 所选接口的每日和每月网络流量。然而,它 不是数据包嗅探器。交通信息从 proc(5) 或 sys 文件系统取决于可用性。这样 vnStat 甚至可以使用 在大多数系统上没有 root 权限。

实现分为两个命令。 vnstat 的目的 命令是提供查询存储的交通信息的接口 在作为守护进程 vnstatd(1) 的网络接口特定数据库中 负责数据检索和存储。虽然守护进程是 不断作为服务运行,它实际上大部分时间都在花费 在数据更新之间休眠。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 2021-09-25
    • 2023-03-09
    • 1970-01-01
    • 2017-02-17
    相关资源
    最近更新 更多