mysql性能测试方法主要介绍下tcpcopy

本文主要探讨了MySQL的性能测试方法,重点介绍了tcpcopy工具。tcpcopy能够复制线上流量到测试环境,实现真实场景的性能测试。与其他测试方式如sysbench、tpcc-mysql和jmeter相比,tcpcopy提供了更接近实际运行状况的测试。通过给出的相关链接,读者可以深入了解tcpcopy的使用和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql常见性能测试方式:
1 sysbench
这种的方式是能做基准测试,要先生成一些表,针对这些表操作,脚本设计的表都比较简单
2tpcc-mysql
这个会生成一个仓库的oltp系统,然后进行测试,比sysbench生成的表要复杂,也更加符合线上的场景
3tcpcopy
此种方式直接拷贝线上的流量,使用真实的流量在测试库上运行,可以进行性能测试,对比测试和容量规划

4jmeter
这种的是测试人员使用jmeter生成环境的压测脚本,然后进行压测,dba配合监控性能。
后两种方式可以认为是线上环境的真实情况,总之结合业务场景的测试才是真实的数据,脱离业务的性能测试一般都不完整。

下面介绍下tcpcopy的方式,这种方式无需测试人员的介入,dba可以方便的进行性能相关测试。
相关的连接如下:
https://www.cnblogs.com/Bccd/p/6740149.html
http://imysql.cn/2011/10/22/using-tcpcopy-for-request-replication-or-testing.html
http://blog.youkuaiyun.com/heizistudio/article/details/49761083
https://github.com/session-replay-tools/tcpcopy/issues/173
https://github.com/session-replay-tools/mysql-replay-module
https://www.cnblogs.com/phennry/p/6382755.html?utm_source=itdadao&utm_medium=referral

下面是几个注意点,安装步骤 忽略
1 intercept,注意此处的port是测试环境的port,之前我配置成了线上的,结果包过去了,但是mysql库中一直没有数据,在tcpcopy的日志中一直提示,many connections can’t be established
/usr/local/intercept/sbin/intercept -i eth0 -F ‘tcp and src port 8888’ -d
2 tcpcopy 的使用将本机的3333端口的流量导入50:8888 intercept是48
/usr/local/tcpcopy/sbin/tcpcopy -x 3333-10.xxx.50:8888 -s 10.xxx.48

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值