linux上傳限速指令碼

來源:互聯網
上載者:User

linux上傳限速指令碼

以下指令碼可用於對伺服器進行上傳限速,當業務使用處於高峰期時,為不影響業務的正常使用,限制上傳速度,保證能正常提供服務。

原理是使用linux中的TC(流量控制模組)實現限速功能。

指令碼的使用如下:

啟動:sh limit.sh start 200 (限制上傳速度為200kb/s)

停止:sh limit.sh stop

 

#!/bin/bash#a simple example for "tc"#set the paramDELAY=20SPEED=$2FLOW=0#出口網卡NETWORK_CARD=$(ip ro get 115.29.128.27 | grep eth | awk '{print $5}')#伺服器IPIP_ADDRESS=115.29.128.28start () {    /sbin/tc qdisc add dev ${NETWORK_CARD} root handle 1: htb default 25    /sbin/tc class add dev ${NETWORK_CARD} parent 1: classid 1:1 htb rate ${SPEED}kbps    /sbin/tc qdisc add dev ${NETWORK_CARD} parent 1:1 netem delay ${DELAY}ms ${FLOW}ms    /sbin/tc filter add dev ${NETWORK_CARD} parent 1: protocol ip prio 1 u32 match ip dst ${IP_ADDRESS}/32 flowid 1:1}stop () {    /sbin/tc qdisc dele dev ${NETWORK_CARD} root}case "$1" in    start)        start        ;;    stop)        stop        ;;    *)        echo "Usage: `basename $0` {start|stop} speed(kb/s)"esac

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.