• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

Still_Walking

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ruby on rails 网页上如何实时显示服务器网速?

ruby on rails 页面上实时显示网速

要在网页上实时显示网速,需要实时请求服务器(由于许多浏览器不支持web socket,这里还是用ajax轮询的方式),这里的服务器以centos为例,使用sysstat,不同的服务器,可能需要不同的软件支持。

一、centos里安装sysstat

  yum  install sysstat

安装完成后,使用sar -V查看

 

二、sar的使用

首先使用ifconfig查看使用的网上,确认一个要查看的网卡的名称,这里我使用的是eth0

然后使用sar获取网速:

sar -n DEV 1 1 | grep Average | grep eth0

它的意思是获取eth0的平均网速,这一行有10列,第四列是接收的速度,第五列是发送的速度,不同的系统可能不一样。

 

三、在ruby on rails里使用命令获取网速

在controller里用如下代码获取接收和发送网速

  net = %x"sar -n DEV 1 1 | grep Average | grep eth0".squish.split(" ")
     receive = "#{net[4].to_i.to_s(:human_size)}/s" #接收网速
     transmit = "#{net[5].to_i.to_s(:human_size)}/s" #发送网速

  render json: {receive: receive, transmit: transmit}  # 以json格式返回数据

 

四、ajax请求,在页面上展示

这里使用setInterval定时执行ajax查询。

 

posted on 2017-03-04 20:15  limanxian  阅读(228)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3