注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

Tcpcopy常用的几种引流模式(连载三)  

来自左琴   2014-03-25 16:00:17|  分类: 性能测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Tcpcopy 给用户提供了很多命令参数来修改引流的模式和设置,详细可以查阅手册。在这里把几种常见的引流方式做个归纳小结,以Tcpcopy传统架构使用命令举例。

分布式引流

用法Tcpcopy可以通过-x参数实现将多台服务器的请求复制到同一台测试服务器上面去,-x参数常用于分布式引流的场合,可以从多节点进行引流复制。

#./tcpcopy -x 2080- xxx.xx.x.xxx:9999

#./tcpcopy -x 2080- xxx.xx.x.xxx:9999 -f 1

#./tcpcopy -x 2080- xxx.xx.x.xxx 9999 -f 2

Tcpcopy常用的几种引流模式(连载三) - 网易杭州QA - 网易杭州 QA Team

 

适用场景:将线上一个集群的压力复制到测试服务器,适用于线上集群单节点压力小的情况,可以通过这种方式尽量覆盖线上所有的请求,这种方式常被用于容量规划之线上压测方式中的一种。

分层引流

 

         对于一个复杂的线上系统,提供多种业务如图片、存储等,各种业务压力是不均衡的,如果在系统的最前端入口进行复制引流到测试环境,那么部分功能模块的压力将会很大,而部分功能模块的压力很小压不到上限,这时候分层引流就可以解决这样的问题,在系统架构每一层进行引流复制压测,尽量覆盖多的节点。以下是网易广告系统分层压测架构图。

Tcpcopy常用的几种引流模式(连载三) - 网易杭州QA - 网易杭州 QA Team

离线回放

用法:离线回放模式需要再configure 的时候加上--enable-offline 参数,离线回放还需要安装pcap 库和pcap 开发库(需要用到pcap 库的头文件)另外运行的时候需要指定-i 参数。

./tcpcopy -x 110-xxx.xxx.xxx.148:110 -i ./online.pcap

这里oline.pcap(利用类似于tcpdump 的工具来抓请求数据包,存放到pcap 格式的文件中去)文件作为数据源,把请求转发到测试服务器上。此外增加-a参数对请求数据包的访问进行加速

./tcpcopy -x 80-xxx.xxx.x.xx:8080 -a 2 -i online.pcap

假设online.pcap 文件为在线请求数据包的抓包文件,时间间隔为60 分钟执行此命令后,离线回放加速了2 倍,只需要30 分钟离线回放就能完成,-a 参数设置不宜设置过大,越大丢请求的概率也越大。

适用场景:由于离线方式依赖于抓包工具(如tcpdump),而抓包工具在压力比较大的场合一般丢包非常严重,而且还会严重影响在线IO,因此一般不推荐在高压情况下使用离线回放方式

 

部分引流

用法Tcpcopy可以通过-r参数实现在线服务器应用的部分流量复制,参数范围是199其它值都是全流量复制。-r 参数常用于测试服务器配置不如在线服务器的场合。

#./tcpcopy -x 2080-xxx.xx.xx.xxx:9999 -r 20

这里tcpcopy 复制在线服务器2080 端口应用的20%流量给测试服务器,这里的20%是根据session(这里session 是由客户端IP,客户端端口决定)来统计的。

适用场景:部分引流主要适用于线上请求压力很多,而测试环境的处理能力较弱,这时候就只需复制部分线上的请求到测试环境,就可以压到测试环境的极限.

 

放大引流

用法Tcpcopy可以通过-n参数对在线服务器应用的流量进行复制放到到测试服务器,如果你要进行多重复制,-n参数

#./tcpcopy -x 2080-xxx.xx.x.xxx:9999 -n 3

表示复制3 倍的在线服务器的80 端口应用请求流量到192.168.0.2 8080 端口

适用场景:放大引流主要用于线上压力较小时,想要通过无限构造压力通过成倍引流达到对测试服务器进行压力测试的目的

 

 

  评论这张
 
阅读(986)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016