项目修炼之路(2)测试-TCPCopy
2016-01-26 15:00
281 查看
上篇博客中,我们介绍了服务化的相关特点,这篇博客主要给大家介绍在预上线之前做的tcpcopy测试。
资源(单击下载):
tcpcopy-0.8.0.tar.gz
TCPCopy分为client和server,其中client运行在在线服务器上面,用来捕获在线请求数据包;server(监听端口为36524)运行在测试机器上面,client在测试服务器的响应包丢弃之前截获测试服务器的响应包,并通过client和server之间的tcp连接,传递响应包的tcp和ip头部信息给TCPCopy client,以完成TCP交互,不然TCP包就不能算到达对端。
下载相应的服务包,拷贝到测试环境,准备一个测试用tomcat
依次执行下列命令
结果如下:
1,启动TCPCopy server
配置无应答
1)启动内核模块ip_queue
#modprobe ip_queue
2)设置要截获的端口,并且设置对output截获
#iptables -I OUTPUT -p tcp --sport 18093 -j QUEUE //注意这里的port就是测试服务器监听的端口-此步骤必须设置,否则不通
3)启动intercept
#intercept
注意:配置好iptbales之后不要去运行service iptables start,不然新加的配置又会被清空了,如果iptables没有启动,可以在加规则之前启动;如果1),2)已经设置并起效的话,只要运行intercept就好了;测试完成之后要调用iptables -F 把过滤规则去掉
2,启动TCP Client进行包的转发
./tcpcopy -x 线上服务器监听端口号-测试服务器ip地址:测试服务器监听端口
另外可以加 -n 参数,进行多重复制,此参数的值就是代表复制过去的流量是在线的n 倍
例子:
试验用jsp:
将jsp放到tomcat -> webapp -> ROOT 下
访问地址为:http://192.168.2.200:18093/1.jsp
测试结果为
线上环境:
测试环境:
总结:
程序的设计,是为了方便人,提升效率,有了tcpcopy后,我们可以尽最大可能模拟线上的操作,为我们上线提供了保障!
资源(单击下载):
tcpcopy-0.8.0.tar.gz
TCPCopy分为client和server,其中client运行在在线服务器上面,用来捕获在线请求数据包;server(监听端口为36524)运行在测试机器上面,client在测试服务器的响应包丢弃之前截获测试服务器的响应包,并通过client和server之间的tcp连接,传递响应包的tcp和ip头部信息给TCPCopy client,以完成TCP交互,不然TCP包就不能算到达对端。
下载相应的服务包,拷贝到测试环境,准备一个测试用tomcat
依次执行下列命令
tar -zxvf tcpcopy-0.8.0.tar.gz cd tcpcopy-0.8.0.tar.gz ./configure make make install
结果如下:
1,启动TCPCopy server
配置无应答
1)启动内核模块ip_queue
#modprobe ip_queue
2)设置要截获的端口,并且设置对output截获
#iptables -I OUTPUT -p tcp --sport 18093 -j QUEUE //注意这里的port就是测试服务器监听的端口-此步骤必须设置,否则不通
3)启动intercept
#intercept
注意:配置好iptbales之后不要去运行service iptables start,不然新加的配置又会被清空了,如果iptables没有启动,可以在加规则之前启动;如果1),2)已经设置并起效的话,只要运行intercept就好了;测试完成之后要调用iptables -F 把过滤规则去掉
2,启动TCP Client进行包的转发
./tcpcopy -x 线上服务器监听端口号-测试服务器ip地址:测试服务器监听端口
另外可以加 -n 参数,进行多重复制,此参数的值就是代表复制过去的流量是在线的n 倍
例子:
./tcpcopy -x 18093-192.168.2.16:18093
试验用jsp:
<% System.out.println("xvshu"); %>
将jsp放到tomcat -> webapp -> ROOT 下
访问地址为:http://192.168.2.200:18093/1.jsp
测试结果为
线上环境:
测试环境:
总结:
程序的设计,是为了方便人,提升效率,有了tcpcopy后,我们可以尽最大可能模拟线上的操作,为我们上线提供了保障!
相关文章推荐
- java网络编程(一)使用TCP协议完成客户端与服务端的数据传递
- http头文件User-Agent详解
- http header详解
- SGU 176 Flow construction-上下界网络流
- VirtualBox配置网络以及SSH登陆配置
- 网络资源:常用的图表类库插件
- Ubuntu NetworkManager 使用:Ubuntu的wired Networks 变灰色,无法连接网络
- CentOS minimal安装后网络配置
- QT5网络相关(QNetworkAccessManager)
- 查看 并发请求数及其TCP连接状态【转】
- centos下的网络设置
- Windows 无法连接到无线网络
- JMeter监控服务器CPU, 内存,网络数据
- 使用HttpUrlConnection进行post请求上传文件
- Tomcat配置Https 单向/双向
- 安卓基于HttpURLConnection网络请求
- HI3516C实现HDMI和网络本地输出视频
- 解决java java.io.FileNotFoundException: http:\localhost:8080 (文件名、目录名或卷)问题
- 盛大离场:游戏到泛娱乐的鸿沟有多远?(上)
- AFNetworking判断网络状态