一、应用背景

主要用于系统的稳定性测试。它可以复制线上服务器的请求,通过修改TCP/IP数据包信息,进而发送到测试服务器,为测试服务器创造一个真实的测试环境。

二、组成部分

  1. TCPCopy Server:部署在 测试服务器 ,用于接收复制的线上请求
  2. TCPCopy Client:部署在 线上服务器 ,用于捕获线上请求,通过修改TCP/IP数据包,发送到TCPCopy Server进行稳定性测试

三、下载及安装

  1. 下载地址: TCPCopy
  2. 文档地址: TCPCopy_Manual.pdf
  3. 解压后,进入TCPCopy根目录
  4. ./configure
  5. make
  6. make install

这里使用的是默认安装,可以到/usr/local/bin下面查看是否生成tcpcopy和intercept。

四、使用

  1. 测试服务器(TCPCopy Server) 

    sudo su
    modprobe ip_queue
    iptables -I OUTPUT -p tcp --sport <测试项目端口> -j QUEUE
    /usr/local/bin/intercept -d
  2. 线上服务器(TCPCopy Client) 

    sudo su
    /usr/local/bin/tcpcopy -x <线上项目端口>-<测试服务器IP>:<测试项目端口> -d

五、例子

测试服务器IP和端口:10.0.0.1 9080 
线上服务器IP和端口:20.0.0.1 8080

  1. 测试服务器(TCPCopy Server) 

    sudo su
    modprobe ip_queue
    iptables -I OUTPUT -p tcp --sport 9080 -j QUEUE
    /usr/local/bin/intercept -d
  2. 线上服务器(TCPCopy Client) 

    sudo su
    /usr/local/bin/tcpcopy -x 8080-10.0.0.1:9080 -d

TCPCopy使用的更多相关文章

  1. 真刀真枪压测:基于TCPCopy的仿真压测方案

    郑昀 基于刘勤红和石雍志的实践报告 创建于2015/8/13 最后更新于2015/8/19 关键词:压测.TCPCopy.仿真测试.实时拷贝流量 本文档适用人员:技术人员 提纲: 为什么要做仿真测试 ...

  2. 基于TCPCopy的Dubbo服务引流工具-DubboCopy

    TCPCopy顾名思义,就是一个可以将tcp流量复制的工具(其实也可以复制UDP).有了这样一个工具,我们就可以真实的复制线上流量,然后将这些流量复制到我们的测试服务器上.这样就可以很容易模拟线上真实 ...

  3. 使用tcpcopy拷贝线上流量压测测试环境

    tcpcopy项目地址:https://github.com/session-replay-tools/tcpcopy 作者地址:http://blog.csdn.net/wangbin579 1:环 ...

  4. TCPCopy 应用

    TCPCopy 使用方法 TCPCopy是一种请求复制(所有基于tcp的packets)工具,可以把在线请求导入到测试系统中去.目前此工具已经广泛应用于国内各大互联网公司. TCPCopy七大功能1) ...

  5. Tcpcopy简介与实战

    码农博客 即将到期,现将博客中部分文章转载到博客园.本文发表与2012年,基于tcpcopy 0.6版本.转载时略有删减. Tcpcopy简介 TCPCopy是一种请求复制(所有基于tcp的packe ...

  6. 【Tcpcopy】离线回放功能

    最近因调试问题,需要一直进行tcpcopy,拿有问题的包进行测试.决定使用tcpcopy对录制脚本进行回放,以下为我操作的具体步骤.主要是三块 1 下载安装具有离线回放功能的tcpcopy 2 使用t ...

  7. 玩玩TCPCOPY+ intercept+mysql-replay-module(未成功)

    TCPCOPY+ intercept这两个模拟流量转发倒简单. 但,想实现一个mysql-replay-module模块时,失败了.(我现在仔细想想,这个方案,在我们现在的场景里,实用性不大,但弄好点 ...

  8. tcpCopy

    tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题. 总体说 ...

  9. 使用tcpcopy导入线上流量进行功能和压力测试

    - 假设我们要上线一个两年内不会宕机的先进架构.在上线前,免不了单元测试,功能测试,还有使用ab,webbench等等进行压力测试. 但这些步骤非生产环境下正式用户的行为.或许你会想到灰度上线,但毕竟 ...

随机推荐

  1. 【adb】adb基本命令总结

    adb常用基本命令如下: adb devices           列出你的devices aapt dump badging <file_path.apk>     查看包名 adb ...

  2. JavaScript函数定义和调用 变量作用域

     本文是笔者在看廖雪峰老师JavaScript教程时的个人总结   JavaScript中函数定义可以是这样的格式 function 函数名(参数) {     函数体 } 也可以是这样的格式     ...

  3. Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法

    2008R2不是那么的普及,加上X3版新出不久,所以伪静态的设置教程比较少,今天搞出来了,其实很简单,那么下面给大家简要说明一下.因为iis7.5集成了url重写,那就就方便多了,首先安装好你的dz论 ...

  4. css中左侧固定,右侧自适应

    谈谈我开始出来工作时候的一道面试题吧 当初我记得在太平洋网络面试的时候,面试官给我出了这么一道题: 有一个外层的div 中间有左右两个div 要求左侧的div 1.只告诉你宽度;       2.只告 ...

  5. PC小技巧

    一.如何在office 2010中安装 Microsoft Office Document Imaging 我用的是office 2010版本,如下操作可以把照片转换成文本:第一步:使用Microso ...

  6. C#中XML和json互相转换

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...

  7. jmeter 内存溢出解决方法

    执行“评论新鲜事”200并发就内存溢出 解决方法: [caozijuan@test09 bin]$ vi jmeter JVM_ARGS="-Xms1024m -Xmx4096m" ...

  8. pandas保存excel

    没有matlab那样的保存中间变量可以用jupyter创建文件然后在pycharm中打开但是字体很奇怪- -所以还是用excel的中间文件方式#测试涨停# ret = asc.getPctChange ...

  9. supervisor centos安装

    一.安装配置supervisor 1.安装python自动化工具    #yum install python-setuptools 2.#easy_install supervisor安装super ...

  10. 那些年因为粗心导致的外链css无效

    css文件三种引用的三种方式: 1.外链: <link rel= "stylesheet" href=""> 注:如果使用外链式绝对不可以忘记 re ...