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查询。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,273评论 25 709
  • 这个社会完蛋了 人与人的沟通 人与人的交流 人与人的时候 都是不真诚的 她拿着红酒杯 沉迷于灯红酒绿 他搂着大蜜 ...
    皆非_lx阅读 1,722评论 0 2
  • 2012年搅入“代笔门”后,韩寒曾出一本收录他手稿的书《光明与磊落》以自证清白,我极喜欢这书名,担不担得上“光明与...
    名著笑谈阅读 5,262评论 5 3
  • init使用,函数调用 try?
    博行天下阅读 5,224评论 0 0
  • 今日学习曾国藩六戒,谨慎为人,以此自检! 第一戒:不可贪求过多!日中则移,月满则亏,物盛则衰。久利之事勿为,众争之...
    秦家炎阅读 2,732评论 0 2