0

0

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

php中文网

php中文网

发布时间:2016-06-01 13:16:12

|

1422人浏览过

|

来源于php中文网

原创

     主要信息来自: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地址,

     要设置内网或者外网地址

Subtxt
Subtxt

生成有意义的文本并编写完整的故事。

下载

     5)TCPCOPY server有可能会成为性能瓶颈

     6)丢失请求率跟网络状况有关,最好在内网内复制请求

     7)TCPCOPY中的tcpcopy和interception程序运行需要root权限

     8)TCPCOPY只与ip、tcp层的数据有关,如果请求验证与tcp层以上的协议有关,则系统不能正常运行。

     例如:mysql连接协议,由于权限认证与tcp层上面的mysql协议有关,所以复制过去的请求会被目

     标测试服务器认为非法请求,这个时候需要针对mysql协议作具体针对性的处理,tcpcopy程序才能正常运行

     9)程序更新非常快,所以最新版本在svn上面

     svn checkouthttp://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测试等用途

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML教程
HTML教程

共500课时 | 4.2万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 769人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号