一、安裝speedtest-cli
成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元尤溪做網(wǎng)站,已為上家服務(wù),為尤溪各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
speedtest-cli是一個用Python編寫的輕量級Linux命令行工具,在Python2.4至3.4版本下均可運(yùn)行。它基于Speedtest.net的基礎(chǔ)架構(gòu)來測量網(wǎng)絡(luò)的上/下行速率。安裝speedtest-cli很簡單——只需要下載其Python腳本文件。網(wǎng)上的教程非常古老,用了只會報(bào)過期腳本 ,更新如下
wget
chmod a+rx speedtest.py
mv speedtest.py /usr/local/bin/speedtest-cli
chown root:root /usr/local/bin/speedtest-cli
speedtest-cli
也可以在自己電腦上下載好 speedtest.py 然后上傳到服務(wù)器上。
二、使用speedtest-cli測試網(wǎng)速
使用speedtest-cli命令也很簡單,它不需要任何參數(shù)即可工作。
[root@localhost temp]# speedtest-cli
輸入這個命令后,它會自動發(fā)現(xiàn)離你最近的Speedtest.net服務(wù)器(地理距離),然后打印出測試的網(wǎng)絡(luò)上/下行速率。
[root@localhost temp]# speedtest-cli
Retrieving speedtest.net configuration…
Retrieving speedtest.net server list…
Testing from China Telecom (219.135.214.145)…
Selecting best server based on latency…
Hosted by CTM Internet Services (Macau) [106.48 km]: 55.974 ms
Testing download speed………………………………….
Download: 3.15 Mbit/s
Testing upload speed…………………………………………..
Upload: 0.58 Mbit/s
測試結(jié)果說明:上行為 0.58Mbit/s 下行為 3.15 Mbit/s
當(dāng)然對于測試結(jié)果,一般在實(shí)際應(yīng)用中不一定能達(dá)到這個值,僅作為參考使用。
首先你得netem QDiscipline設(shè)置看起來沒什么區(qū)別,limit太大,loss 0%和默認(rèn)一樣,剩下的delay 10ms都是指所有pakcat按照延遲10ms進(jìn)行發(fā)送
至于你的TBF設(shè)置,用了TBF自身提供的兩個途徑
TBF叫做Token Bucket Filter.總體的思路就是數(shù)據(jù)包要領(lǐng)到Token(令牌)才能被發(fā)送,而令牌的產(chǎn)生速率收到rate這個參數(shù)的限制。Token是一個抽象的概念,Token的大小都是指的Token所指向的數(shù)據(jù)包的大小。
當(dāng)要發(fā)送的速率低于令牌產(chǎn)生的速度時,所有的數(shù)據(jù)包都能領(lǐng)到Token,并且多余的Token會在你的Buffer里積累。積累的上限由Buffer/Burst這個參數(shù)指定。
當(dāng)發(fā)送的速率等于Token產(chǎn)生的速度時,Token正好被完全消耗,所有的數(shù)據(jù)包都會發(fā)送,并且buffer不會積累多余的Token
當(dāng)發(fā)送的速率大于Token的速率,如果Buffer里還有多余的Token,就會開始消耗Buffer的Token,同時允許數(shù)據(jù)包通過。如果buffer的Token耗盡,數(shù)據(jù)包就不被允許通過,并且進(jìn)入Txqueue(發(fā)送隊(duì)列)排隊(duì)。如果排隊(duì)的尺寸大于limit(你的第一個TBF有指定),則隊(duì)列不能再增長,新到來的數(shù)據(jù)包會被drop。
明白上面的概念之后你的兩條命令的區(qū)別也就容易看懂了。
第一個是用的Buffer/Limit
Buffer就是瞬間可以額外提供的Token的數(shù)量。Rate限制了你的持續(xù)上傳速率為1Mb/s,然后在你長時間網(wǎng)絡(luò)流量很低時,你得Token會積累,最后你可以有Buffer這么大(1600b)的緩沖無視rate的限制(可以瞬間發(fā)送1600b,所以叫做突發(fā))。至于后面的limit 3000,是指你當(dāng)你的緩沖區(qū)(Txqueue)超過3000b時,新來的包會被Drop
第二個用的是Burst/latency/rate組合
這里的burst和上面的buffer含義完全相同,都是能夠以高于rate所限定的速度發(fā)送的數(shù)據(jù)量(4Mb,比第一個的大很多)。至于Latency,是對應(yīng)limit的量。Latency規(guī)定的是數(shù)據(jù)包能在Txqueue中呆的最長的時間(你的是1S),在Txqueue中呆超過1s的包都會被Drop。所以結(jié)合你的rate來計(jì)算,latency 1s+rate 1Mbit/s 等價(jià)于 limit為1Mbit*1s=1Mb
*tc只能規(guī)整egress traffic,就是從NIC流出的流量(上傳),對于下載,要用IFB將ingress(下載)模擬成egress
使用bai命令:mii-tool -v
mii:是Linux下專門設(shè)置網(wǎng)卡工作模式的命令,詳細(xì)參數(shù)如下
1. 查看網(wǎng)卡的工作模式,輸入命令:
#mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
product info: vendor 00:aa:00, model 56 rev 0
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
從以上信息中可以看出,這塊網(wǎng)卡工作在100M全雙工自適應(yīng)模式下,“100BaseTx-FD”意為100M Full Duplex。
2. 更改網(wǎng)卡的工作模式,輸入命令:
#mii-tool -F media [interface]
media可選的模式有100baseTx-FD、100baseTx-HD、10baseT-FD、10baseT-HD等。 Interface代表所選擇的網(wǎng)卡,如eth0、eth1等,默認(rèn)為eth0。
例如,設(shè)置網(wǎng)卡工作在10M半雙工模式下,輸入命令:
#mii-tool -F 10baseT-HD eth0
3. 恢復(fù)網(wǎng)卡的自適應(yīng)工作模式,輸入命令:
#mii-tool -r eth0
更詳細(xì)的使用方法可以用mii-tool -h來獲得。
1、用 iptables 的 owner 模塊,給 --pid-owner 加上 MARK,然后 tc 里針對這個 MARK 做限速 現(xiàn)在的服務(wù)器上,基本已經(jīng)普及了 SMP ,更進(jìn)一步的,內(nèi)核已經(jīng)在自動發(fā)現(xiàn)支持 SMP 的時候,在 iptables 里把 owner 模塊的 pid/cmd/sid 三個 match 都去掉了!現(xiàn)在的 owner 里只有 uid/gid 兩個。所以這條路,在生產(chǎn)環(huán)境上基本行不通。所以推薦下面的兩種方法:
2、使用 pipeviewer和 trickle這兩個工具。trickle 是在BSD 上誕生的項(xiàng)目,這個工具使用ELF 的 preloader 機(jī)制,在命令執(zhí)行的時候替換掉標(biāo)準(zhǔn)庫中的 socket recv() 和 send() 部分,達(dá)到限速的效
3、cgroup ,它有 net_cls 控制器。不過和其他控制器不太一樣的是它不直接控制網(wǎng)絡(luò)讀寫,只是給網(wǎng)絡(luò)包打上一個標(biāo)記,然后把專業(yè)的事情交給專業(yè)的 TC 去做。嗯,思路和原先的 iptable 是很類似的。
關(guān)于Linux命令的介紹,看看《linux就該這么學(xué)》,具體關(guān)于這一章地址3w(dot)linuxprobe/chapter-02(dot)html
分享題目:linux帶寬控制命令 linux網(wǎng)絡(luò)帶寬怎么看
轉(zhuǎn)載來于:http://www.rwnh.cn/article44/dosihee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站改版、虛擬主機(jī)、外貿(mào)建站、ChatGPT、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)