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閱讀 173,284評論 25 708
  • 這個社會完蛋了 人與人的溝通 人與人的交流 人與人的時候 都是不真誠的 她拿著紅酒杯 沉迷于燈紅酒綠 他摟著大蜜 ...
    皆非_lx閱讀 257評論 0 2
  • 2012年攪入“代筆門”后,韓寒曾出一本收錄他手稿的書《光明與磊落》以自證清白,我極喜歡這書名,擔不擔得上“光明與...
    名著笑談閱讀 1,405評論 5 3
  • init使用,函數調用 try?
    博行天下閱讀 1,432評論 0 0
  • 今日學習曾國藩六戒,謹慎為人,以此自檢! 第一戒:不可貪求過多!日中則移,月滿則虧,物盛則衰。久利之事勿為,眾爭之...
    秦家炎閱讀 353評論 0 2