Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190277
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 508
  • 用 户 组: 普通用户
  • 注册时间: 2015-12-14 12:10
  • 认证徽章:
个人简介

王锋,七牛云存储,邮箱:oxwangfeng@qq.com

文章分类

全部博文(43)

文章存档

2018年(8)

2017年(9)

2016年(26)

我的朋友

分类: 服务器与存储

2017-11-08 10:21:14

目前我们服务器上的拥塞控制策略是cubic算法;
sysctl -a |grep tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic

sysctl -a |grep default_qdisc
net.core.default_qdisc = pfifo_fast


比较好的bbr文档:https://www.zhihu.com/question/53559433

测试:client是100.100.84.141 缓存服务器是100.100.84.192,源站是100.100.84.192;测试文件大小是61M;

测试结果:在没有丢包率的情况下,开启bbr和不开启bbr没啥区别;但是丢包率越高,开启bbr和不开启bbr造成的时延差别也越来越大;


1.开启bbr,并且没有丢包率;
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m1.050s
user 0m0.016s
sys 0m0.120s

real的时间基本保持着1.039-1.090之间;尝试了很多次,基本都是这个;

2. 不开启bbr,并且没有丢包率;
echo "net.core.default_qdisc=pfifo_fast" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=cubic" >> /etc/sysctl.conf
sysctl -p

测试命令和1一样,消耗时间也差不多;

3.默认算法,5%丢包率
tc qdisc del root dev eth0
tc qdisc add dev eth0 root netem loss 5%
time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m4.068s
user 0m0.024s
sys 0m0.172s
消耗时间基本都是在3s以上,有时候能到达到5s;

4.bbr算法,5%丢包率
time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m1.714s
user 0m0.016s
sys 0m0.112s
消耗的时间基本都是在1.5s到3s之间;大多数低于2s;

5.默认算法,1%丢包率
tc qdisc del root dev eth0
tc qdisc add dev eth0 root netem loss 1%
tc qdisc del root dev lo
tc qdisc add dev lo root netem loss 1%
查询
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m1.118s
user 0m0.032s
sys 0m0.116s
和测试6差不多。感觉和没有设置丢包率差不多;

6.bbr算法,1%丢包率
time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m1.038s
user 0m0.012s
sys 0m0.124s
消耗的时间基本和不设置丢包率差不多;

7.默认算法,10%丢包率
tc qdisc del root dev eth0
tc qdisc add dev eth0 root netem loss 10%
tc qdisc del root dev lo
tc qdisc add dev lo root netem loss 10%
查询
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 1m4.763s
user 0m0.088s
sys 0m0.316s
比测试8耗时时间更多了;

8.bbr算法,10%丢包率
time curl -H "Host:www.jd.com" http://100.100.84.192:8080/1.tar.gz -voa
real 0m4.756s
user 0m0.012s
sys 0m0.128s
消耗的时间最低是3.2,最多是7,不过极少情况也可能到达10,大部分都是4s;



阅读(599) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册