`

(转)tcpcopy,模拟在线压力测试的好帮手

阅读更多
主要信息来自:http://code.google.com/p/tcpcopy/

tcpcopy是一个基于底层的应用请求复制(所有基于tcp的packets)开源项目,可用于替代ab做在线模拟压力测试,可转发各种在线请求到测试服务器上,进行较为详尽的近乎实际的测试,从而避免了新业务、系统上线带来的潜在问题。

tcpcopy的四大功能:

1)分布式压力测试,将多个前段请求集中到某个后端进行压力测试
2)上线前测试,检验新系统可靠性,提前发现潜在问题
3)对比测试,同样请求,针对不同或不同版本程序,可以做性能对比等试验
4)应用热备份,对于后端的短连接,请求丢失率非常低(1/10万)

tcpcopy具有以下几个特点:

1)实时转发
2)近乎真实效果
3)对在线系统影响很小
4)操作简单
5)分布式
6)意义非凡

使用tcpcopy非常简单,下载源码,编译,按照说明,几个步骤很快就能使用。

关于tcpcopy使用的一些注意事项有:

1)Linux平台,内核2.6+
2)TCPCOPY类似于UDP,所以会丢包,进而丢失请求
3)本系统不支持域名,只支持ip地址
4)Local Requests,请设置lo MTU不超过1500,并且在配置文件中不要设置127.0.0.1地址,
要设置内网或者外网地址
5)TCPCOPY server有可能会成为性能瓶颈
6)丢失请求率跟网络状况有关,最好在内网内复制请求
7)TCPCOPY中的tcpcopy和interception程序运行需要root权限
8)TCPCOPY只与ip、tcp层的数据有关,如果请求验证与tcp层以上的协议有关,则系统不能正常运行。
例如:mysql连接协议,由于权限认证与tcp层上面的mysql协议有关,所以复制过去的请求会被目
标测试服务器认为非法请求,这个时候需要针对mysql协议作具体针对性的处理,tcpcopy程序才能正常运行
9)程序更新非常快,所以最新版本在svn上面
svn checkout http://tcpcopy.googlecode.com/svn/trunk/ tcpcopy
10)目前追求的是功能,性能优化和代码重构会在稳定以后进行
11)长response目前支持不是很好,将在下一个版本改进
12)如果有问题,请注意error.log文件提示的错误信息 (email: 163.beijing@gmail.com)
13)源代码已经转到github

除了这些,下面是我在用tcpcopy测试mysql时的一些小结:
1) 测试MySQL时,测试机需要开启 skip-grant-tables,否则无法正常进行,因为MySQL需要进行认证;在线服务器无需调整
2) 测试过程中不能执行flush privileges,否则上述选项会失效
3) 每次启用tcpcopy时,都需要重启mysqld,不能在线直接应用,否则不能转发包(最新版本已经解决这个问题)
4) 用sysbench进行测试过程中,prepare时,在线服务器能创建测试表,测试机无法创建新表
5) 需适当调大内核参数:ip_queue_maxlen,否则会出现大量的queue dropped
6) 无法完全保证在线服务器和测试机的数据一致性,只能做为模拟线上压力,提前进行bug测试等用途

分享到:
评论

相关推荐

    tcpcopy,模拟在线压力测试的好帮手

    tcpcopy是一个基于底层的应用请求复制(所有基于tcp的packets)开源项目,可用于替代ab做在线模拟压力测试,可转发各种在线请求到测试服务器上,进行较为详尽的近乎实际的测试,从而避免了新业务、系统上线带来的潜在...

    软件测试基础指南,入门测试的好帮手

    "软件测试基础指南,入门测试的好帮手" 软件测试基础知识点解析 软件测试是软件开发过程中一个至关重要的组成部分,它可以帮助开发团队和项目经理确保软件产品的质量和可靠性。下面我们将从软件测试的基础概念、...

    模拟DOS(学习好帮手)

    "模拟DOS(学习好帮手)"是一款专为Windows用户设计的软件,它允许用户在现代操作系统环境下体验和学习DOS系统。这个软件不仅复原了DOS环境,还提供了一种方便的方式来运行那些依赖于DOS环境的古老程序,或者进行...

    企业网络图-模拟的好帮手

    企业网络图-模拟的好帮手.经典无用多说,(实例)

    好帮手引导文件

    好帮手引导文件

    CAD好帮手_1.0.9

    CAD好帮手_1.0.9CAD好帮手_1.0.9CAD好帮手_1.0.9

    心音模拟器,模拟心跳声音。胎儿监护仪开发或测试人员好帮手

    心音模拟器是一种专业的软件工具,专为胎儿监护仪的开发和测试人员设计,用于模拟人体心跳的声音。这种工具在医疗设备研发领域有着重要的应用,因为它可以帮助工程师在没有实际患者的情况下,验证和优化设备的性能和...

    理财好帮手模拟推算软件

    该软件用于对理财的利搭利计算、理财止损、止盈的数据分析建议,是一款不错的投资理财好帮手、好助手

    好帮手校屏软件

    【好帮手校屏软件】是一款专为好帮手导航卡仕达和科骏达设计的触控屏校准工具。在使用车载导航系统时,由于各种原因,如设备安装位置、屏幕老化或误触,可能导致触控屏的灵敏度和准确性下降,影响到正常使用。此时,...

    OPC服务器测试工具工控好帮手

    OPC服务器测试工具工控好帮手

    定时提醒 成功好帮手

    定时提醒 成功好帮手 定时提醒 成功好帮手 定时提醒 成功好帮手

    营销好帮手v1.0免费安装版

    【营销好帮手v1.0免费安装版】是一款专为营销人员打造的高效工具,旨在简化和优化网络营销过程。这款软件集成了多种实用功能,包括数据导入、信息自动化发送以及自定义发送起点等,旨在提升营销工作的效率和精准度。...

    英语学习好帮手

    “E-study”可能包含自我测试和模拟考试,帮助学习者了解自己的水平,找出弱点并有针对性地改进。同时,一些资源可能还提供了在线社区或教师支持,以便于答疑解惑,提供个性化的学习建议。 总的来说,“英语学习好...

    电工仿真软件,是我用易语言写的电路图,目前写了基础的电路图,喜欢电工的带走了 可以模拟接线测试、学习用,电路学习的好帮手~

    电工仿真软件,是我用易语言写的电路图,目前写了基础的电路图,喜欢电工的带走了。 可以模拟接线测试、学习用,电路学习的好帮手~

    好帮手ERP的应用跟讲解

    好帮手ERP,各个流程的应用,快速掌握应用好帮手ERP,实现自己的梦想。

    快乐女人好帮手 v5.50 Build 540.zip

    快乐女人好帮手是一款专业的时间和联系人管理软件,软件专门为女士设计,功能齐全,可以实现包括通讯录、公历农历、日程安排、一键搜索工具、工作任务管理、日记本、备忘录、桌面便笺、密码管理器等诸多功能。...

    淘宝购物好帮手免费版

    (淘宝购物好帮手免费版)内置多种排序方式(时间排序,价格排序,信用排序,销量排序,销量+价格,销量+信用),可以快速方便的查找到想要的宝贝。新版本支持限时促销的价格自动获取。软件完全免费绿色,不带任何...

    最新版本IETester v0.4.12 – 多版本IE测试好帮手

    这是个相当神奇的小软体,可以帮我们模拟网页在IE5.5、IE6、IE7与IE8、IE9等浏览器的相容性,让我们看一下辛苦作好的CSS样式或网站版面是否可以在各个主要浏览器正常显示。 IETester是以”分页标签”的方式,分别在...

    伊凡少儿识字好帮手V2.0.1官方最新安装版

    伊凡少儿识字好帮手将更好的引导宝宝们进行识字练习应用。你还在为宝宝们的学前教育而发愁么?伊凡少儿识字好帮手让你的宝宝赢在起跑线。伊凡少儿识字软件专为幼儿用户打造,拥有色彩丰富的软件界面,内置丰富的日常...

Global site tag (gtag.js) - Google Analytics