首页 > 代码库 > 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查询。
ruby on rails 网页上如何实时显示服务器网速?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。