主要信息来自: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测试等用途

2012-02-15 更新: tcpcopy-mysql-alpha-v0.7.tar.gz 版本经过长期测试,已经正式稳定可靠,可以放心在for MySQL环境下使用。

--------------------------------------分割线--------------------------------------

知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。

转载于:https://blog.51cto.com/imysql/1879725

tcpcopy,模拟在线MySQL压力测试的好帮手相关推荐

  1. 老叶倡议:MySQL压力测试基准值

    通常,我们会出于以下几个目的对MySQL进行压力测试: 1.确认新的MySQL版本性能相比之前差异多大,比如从5.6变成5.7,或者从官方版本改成Percona分支版本: 2.确认新的服务器性能是否更 ...

  2. linux mysql 测试工具_LINUX系统下MySQL 压力测试工具super smack

    LINUX系统下MySQL 压力测试工具super smack 发布时间:2008-09-08 17:03:39   作者:佚名   我要评论 1. 源文件下载地址:http://vegan.net/ ...

  3. mysql 雇员表脚本,mysql压力测试脚本实例_MySQL

    本文实例讲述了mysql压力测试的脚本,分享给大家供大家参考.具体如下: 创建表DEPT 代码如下: CREATE TABLE dept( /*部门表*/ deptno MEDIUMINT UNSIG ...

  4. mysql 5.5 压力测试,mysql 压力测试

    mysql 压力测试 sysbench支持的测试模式: 1.CPU运算性能 2.磁盘IO性能 3.调度程序性能 4.内存分配及传输速度 5.POSIX线程性能 6.数据库性能(OLTP基准测试) 目前 ...

  5. tcpcopy mysql_tcpcopy+mysql压力测试

    一.tcpcopy工具介绍 tcpcopy 是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信 ...

  6. php mysql 压力测试_MySQL的性能基线收集及压力测试

    建立基线的作用: 计算机科学中,基线是项目储存库中每个工件版本在特定时期的一个"快照". 比如我们现在有并发事物,那么在某时刻发起一个事物会产生当前数据的快照,那么这个快照就相当理 ...

  7. mysql压力测试教程_Mysqlslap MySQL压力测试工具 简单教程

    MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单.通过mysqlslap –help可以获得可用的选项,这里列一些 ...

  8. mysql压力测试工具Mysqlslap

    mysql 性能测试工具:The MySQL Benchmark Suite(不支持多CPU而且不是压力工具) 压力测试工具: MySQL super-smack:需要找能连接外网的机器,能连接外网的 ...

  9. 使用sysbench对mysql压力测试

    sysbench是一个模块化的.跨平台.多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况.关于这个项目的详细介绍请看:https://github.com/akopytov/sy ...

  10. mysql 压力测试知乎_MySQL查看SQL语句执行效率和mysql几种性能测试的工具

    网络中整理,记录下,朋友们应该用得到! Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮 ...

最新文章

  1. 网站入口页双栏对称布局实现思路
  2. kerberos安装配置、配置kerberos server、client、日常操作与常见问题、卸载kerberos、hive整合kerberos
  3. POJ 2676/2918 数独(dfs)
  4. 断电后supervisor启动时报错
  5. SpringBoot-Websocket
  6. mysql对所有id求积_sql 行列式 转换,
  7. Android编程之Intent源码详解
  8. UVA12542 LA6149 Prime Substring【筛选法+贪心】
  9. 使用RandomAccessFile读写数据
  10. 帆软动态分页之多数据集层式报表
  11. 解决 VS2008安装过程更改路径的问题
  12. Halcon视觉框架+车牌识别+汉字识别+颜色识别+20200930
  13. 温哥华岛大学计算机科学,温哥华有哪些知名大学排名(温哥华地区大学排名一览)...
  14. 考研政治|马克思主义基本原理
  15. 解决树莓派4B从USB启动的问题
  16. Autoware(Architecture Proposal)
  17. Electron编译报错:include: could not find: ****StdUtils.nsh“的解决
  18. Zygote进程【1】——Zygote的诞生
  19. ES6、ES7、ES8、ES9、ES10新特性一览
  20. java接口可以被继承吗

热门文章

  1. Lazarus Coolbar and AnchroDocking
  2. Python中的条件判断和循环
  3. 一个用于分布式DNN训练加速的通用通信调度器
  4. vue组件,通过props父组件给子组件传值,WTF, 子组件报错undefined???
  5. 第4章 同步控制 Synchronization ----同步机制的摘要
  6. 知识点篇:7)企业标准体系制定要求
  7. 超级强悍的PHP代码编辑器PHPstorm及配置
  8. SQL on HBase -- phoenix 之分页查询
  9. Intel Optane P4800X评测(序):不用缓存和电容保护的SSD?
  10. Apache2 实现https访问http服务