最近再搞postgres的数据同步,需要模拟异地机房有带宽限制时的同步效果,所以想要限制一下两台机器之间的网速。

ts命令功能很强,同时也好难理解和使用,经常浪费了好半天还是搞不定。

这里分享一个简单好用的脚本,只要设置一下目标ip和需要限制的速率,执行下就可以了:

#!/bin/bash
#
# tc uses the following units when passed as a parameter.
# kbps: Kilobytes per second
# mbps: Megabytes per second
# kbit: Kilobits per second
# mbit: Megabits per second
# bps: Bytes per second
# Amounts of data can be specified in:
# kb or k: Kilobytes
# mb or m: Megabytes
# mbit: Megabits
# kbit: Kilobits
# To get the byte figure from bits, divide the number by bit
#
TC=/sbin/tc
IF=eth0 # Interface
DNLD=1mbit # DOWNLOAD Limit
UPLD=1mbit # UPLOAD Limit
IP=216.3.128.12 # Host IP
U32="$TC filter add dev $IF protocol ip parent 1:0 prio 1 u32" start() { $TC qdisc add dev $IF root handle : htb default
$TC class add dev $IF parent : classid : htb rate $DNLD
$TC class add dev $IF parent : classid : htb rate $UPLD
$U32 match ip dst $IP/ flowid :
$U32 match ip src $IP/ flowid : } stop() { $TC qdisc del dev $IF root } restart() { stop
sleep
start } show() { $TC -s qdisc ls dev $IF } case "$1" in start) echo -n "Starting bandwidth shaping: "
start
echo "done"
;; stop) echo -n "Stopping bandwidth shaping: "
stop
echo "done"
;; restart) echo -n "Restarting bandwidth shaping: "
restart
echo "done"
;; show) echo "Bandwidth shaping status for $IF:\n"
show
echo ""
;; *) pwd=$(pwd)
echo "Usage: $(/usr/bin/dirname $pwd)/tc.bash {start|stop|restart|show}"
;; esac exit

原文地址:http://www.iplocation.net/tools/traffic-control.php

脚本地址:http://www.iplocation.net/tc.bash.txt

linux环境下,利用tc限制两台服务器间的网速,非常简单。的更多相关文章

  1. openstack环境下搭建的keepalived 两台服务器直接无法ping通VIP ALLOWED-ADDRESS-PAIRS

    真的是搞了很久 结果一问人才知道真的是neutron的问题 当然前提是设置unicast 而不是默认设置 先贴出来后面再更新图片 [root@haproxy1 ~]# cat /etc/keepali ...

  2. Linux搭建nginx负载均衡(两台服务器之间)

    负载均衡种类 第一种:通过硬件负载解决,常见的有NetScaler.F5.Radware和Array等商用的负载均衡器,价格比较昂贵 第二种:通过软件负载解决,常见的软件有LVS.Nginx.apac ...

  3. Linux环境下利用句柄恢复Oracle误删除的数据文件

    在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redha ...

  4. CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享

    一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : portmap:实现RPC(协议 ...

  5. Linux环境下Eclipse对C++新特性的支持设置

    Linux环境下Eclipse对C++新特性的支持设置     今天写一个简单的关于C11中的array容器的测试程序如下, #include <iostream> #include &l ...

  6. LINUX环境下SVN安装与配置(利用钩子同步开发环境与测试环境)

    安装采用YUM一键安装: 1.环境Centos 6.6 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve ...

  7. linux下两台服务器文件实时同步方案设计和实现

    inux下两台服务器文件实时同步方案设计和实现 假设有如下需求: 假设两个服务器: 192.168.0.1 源服务器  有目录 /opt/test/ 192.168.0.2 目标服务器  有目录 /o ...

  8. mosquitto在Linux环境下的部署/安装/使用/测试

    mosquitto在Linux环境下的部署 看了有三四天的的源码,(当然没怎么好好看了),突然发现对mosquitto的源码有了一点点感觉,于是在第五天决定在Linux环境下部署mosquitto. ...

  9. 由一个简单需求到Linux环境下的syslog、unix domain socket

    本文记录了因为一个简单的日志需求,继而对linux环境下syslog.rsyslog.unix domain socket的学习.本文关注使用层面,并不涉及rsyslog的实现原理,感兴趣的读者可以参 ...

随机推荐

  1. 随笔 planetest

    Camera跟随物体: import Scripts包,Component中的camera control会有smooth follow脚本,添加到Main Camera中,在脚本的target属性中 ...

  2. rtsp实时流通过rtmp推送到服务端

    很多朋友都会问到rtsp如何通过rtmp协议推送到服务端,正好前段时间开发了这个功能写在这里,和大家分享下. 首先我想说的是:ffmpeg可以实现这个功能.ffmpeg支持rtsp协议,也支持rtmp ...

  3. SQL Server性能优化(4)命名和书写规范

    命名规范是一个老生常谈的问题,好的命名规范对于团队程序开发,对bug定位.处理,项目延续有很重要的作用. 一. 列举现在的问题:     1.名称首字母不大写     2. 用中文名字         ...

  4. 心情符号love

    写点什么呢,先谢谢心情吧,算是第一个脚印了,想先把之前的一些笔记和心得迁移进来吧,以后每个月都要充实自己的知识.向大婶们看齐.走你们走过的脚印,看你们前行的身影.沿着你们留下的路,继续为后者拓宽道路. ...

  5. 使用AzCopy跨账户迁移blob

    昨天北美紧急通知要停掉几个开发和测试的订阅,当天必须完成,因为事情比较多,搞得有点我措手不及,但是唯一的遗憾是Azure VM. 因为在上面做了很多东西,很多资料和环境都是做好的,如果被删除掉实在可惜 ...

  6. foj 2044 1 M possible 二进制压缩

    题目链接: http://acm.fzu.edu.cn/problem.php?pid=2044 题意:  给出 一大堆数,找出2个出现次数模3 为1 的两个数字   题解: 把一个数分为几位拆开统计 ...

  7. Poj 1050 分类: Translation Mode 2014-04-04 09:31 103人阅读 评论(0) 收藏

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39058   Accepted: 20629 Desc ...

  8. 用HAProxy和KeepAlived构建高可用的反向代理

      用HAProxy和KeepAlived构建高可用的反向代理 用HAProxy和KeepAlived构建高可用的反向代理 前言对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求 ...

  9. hadoop安装问题

    1. 运行start-dfs.sh启动HDFS守护进程,start-yarn.sh面向YARN的资源器和节点管理器,资源管理器web地址是http://localhost:8080/.输入stop.d ...

  10. HDU4782 Beautiful Soup

    成都赛里的一道坑爹码力题,突然间脑抽想做一下弥补一下当时的遗憾.当时没做出这道题一是因为当时只剩大概45分钟,对于这样的具有各种条件的题无从下手,二则是因为当时估算着已经有银牌了,所以就不挣扎了.但是 ...