狠狠撸

狠狠撸Share a Scribd company logo
Jk.cn
TCPCOPY-Real traffic benchmark tool
TCPCOPY 由网易杭研开源,通过复制网卡端口流量,从而模拟线上真实负载,通过 N 倍放大做到真实环境流量翻倍的效果。
对于日常业务的激增起到一个预测作用。
TCPCOPY 可以直接将流量包复制至 MYSQL database,从而模拟线上 client 包流量的翻倍压力,对于测试机器来说,相当于将线
上机器成倍的增加,从而可以压测出当前 MYSQL DB 所能承受的极限值。对于 SQL 而言,也利于在高压力环境下的问题暴露。
Jk.cn
我们的 TCPCOPY 架构图
Jk.cn
通过直接导入线上流量, 模拟 troy 线上压力
测试环境:
online server : 10.128.6.16 master
test server : 10.128.6.83 clone database
assistant server : 10.128.6.84
在 test server 上增加如下路由信息:
route add -host 10.128.10.68 gw 10.128.6.84
route add -host 10.128.11.96 gw 10.128.6.84
route add -host 10.128.13.97 gw 10.128.6.84
route add -host 10.128.16.59 gw 10.128.6.84
route add -host 10.128.17.109 gw 10.128.6.84
route add -host 10.128.17.99 gw 10.128.6.84
route add -host 10.128.19.142 gw 10.128.6.84
route add -host 10.128.19.150 gw 10.128.6.84
route add -host 10.128.19.160 gw 10.128.6.84
route add -host 10.128.6.17 gw 10.128.6.84
Jk.cn
route add -host 10.128.7.121 gw 10.128.6.84
route add -host 10.128.7.122 gw 10.128.6.84
在 test server 上将线上(online server)上的 mysql client IP 请求全部路由到 assistant server 由 assistant sever 跟 这些 client 机器完
成握手,从而完成整个过程。Test server 本身并不负责这些连接的建立。
Jk.cn
Processing :
Jk.cn
在 assistant server 上开启 intercept 进程
/usr/local/intercept/sbin/intercept -i bond0 -F 'tcp and src port 3307' -p 36525 –d
端口设置为 36525
在 online server 上开启 tcpcopy 进程
tcpcopy -x 3307-10.128.6.83:3307 -s 10.128.6.84:36525 -C 4 -n 50
将本地 3307 端口的流量直接复制到 test server (由 test server 路由至 assistant server, 最后由 assistant server 完成应答) ,实际的
数据包则在 test server 上执行 。
-C tcpcopy 进程与 intercept 进程开启并行通信 –n 将线上流量复制 N 倍
[20:33:26root@a1-tcpcopy-assis /usr/local/intercept/sbin]
#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
ESTABLISHED 5
TIME_WAIT 30
在 test server 上即可看到实际流量,经测试 –n 100 基本是一个极限值(tcpcopy 没有连接池的概念,所以对 test server 的连接都是短
连接,会引起 DB 层的瞬间连接暴增问题,目前没有好的解决方案)对于 troy 来说本身就是一个超过 4 万 QPS 的应用,而 TCPCOPY
极限压测到 5 万的 QPS 已经是上限了
Jk.cn
Test server load
Jk.cn
Interface Traffic
Jk.cn
下一步计划
按成自动化恢复+自动化压测 (需要实际的 slave 激活成 master, 直接线上 slave 压测存在风险)

More Related Content

Similar to Tcpcopy benchmark (20)

AppEx 云加速
AppEx 云加速AppEx 云加速
AppEx 云加速
txpeng
?
颁1000碍高性能服务器构建技术
颁1000碍高性能服务器构建技术颁1000碍高性能服务器构建技术
颁1000碍高性能服务器构建技术
Feng Yu
?
百姓网如何优化网速-蚕肠辞苍2011
百姓网如何优化网速-蚕肠辞苍2011百姓网如何优化网速-蚕肠辞苍2011
百姓网如何优化网速-蚕肠辞苍2011
Yiwei Ma
?
Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808
OpenCity Community
?
基于用户行为的数据分析
基于用户行为的数据分析基于用户行为的数据分析
基于用户行为的数据分析
mysqlops
?
腾讯大讲堂40 web类服务用户体验优化综述
腾讯大讲堂40 web类服务用户体验优化综述腾讯大讲堂40 web类服务用户体验优化综述
腾讯大讲堂40 web类服务用户体验优化综述
PMCamp
?
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
?
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
liangxiao0315
?
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
yp_fangdong
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
基于贰谤濒补苍驳的
基于贰谤濒补苍驳的基于贰谤濒补苍驳的
基于贰谤濒补苍驳的
hnoutman
?
迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
四天学会础箩补虫
四天学会础箩补虫四天学会础箩补虫
四天学会础箩补虫
mornone
?
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.t
oleone
?
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
Wensong Zhang
?
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
babel_qi
?
贬补诲辞辞辫学习总结
贬补诲辞辞辫学习总结贬补诲辞辞辫学习总结
贬补诲辞辞辫学习总结
ordinary2012
?
AppEx 云加速
AppEx 云加速AppEx 云加速
AppEx 云加速
txpeng
?
颁1000碍高性能服务器构建技术
颁1000碍高性能服务器构建技术颁1000碍高性能服务器构建技术
颁1000碍高性能服务器构建技术
Feng Yu
?
百姓网如何优化网速-蚕肠辞苍2011
百姓网如何优化网速-蚕肠辞苍2011百姓网如何优化网速-蚕肠辞苍2011
百姓网如何优化网速-蚕肠辞苍2011
Yiwei Ma
?
Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808Pm 04 华胜天成openstack实践汇报-20120808
Pm 04 华胜天成openstack实践汇报-20120808
OpenCity Community
?
基于用户行为的数据分析
基于用户行为的数据分析基于用户行为的数据分析
基于用户行为的数据分析
mysqlops
?
腾讯大讲堂40 web类服务用户体验优化综述
腾讯大讲堂40 web类服务用户体验优化综述腾讯大讲堂40 web类服务用户体验优化综述
腾讯大讲堂40 web类服务用户体验优化综述
PMCamp
?
大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)大数据时代feed架构 (ArchSummit Beijing 2014)
大数据时代feed架构 (ArchSummit Beijing 2014)
Tim Y
?
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
基于云计算平台的移动滨辫迟惫系统设计及负载均衡技术研究
liangxiao0315
?
Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改Hbase在淘宝的应用与优化 修改
Hbase在淘宝的应用与优化 修改
yp_fangdong
?
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
?
基于贰谤濒补苍驳的
基于贰谤濒补苍驳的基于贰谤濒补苍驳的
基于贰谤濒补苍驳的
hnoutman
?
迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢迟飞惭痴颁#31网站上线了然后呢
迟飞惭痴颁#31网站上线了然后呢
twMVC
?
四天学会础箩补虫
四天学会础箩补虫四天学会础箩补虫
四天学会础箩补虫
mornone
?
深入浅出Netty l.t
深入浅出Netty   l.t深入浅出Netty   l.t
深入浅出Netty l.t
oleone
?
开源+自主开发 - 淘宝软件基础设施构建实践
开源+自主开发  - 淘宝软件基础设施构建实践开源+自主开发  - 淘宝软件基础设施构建实践
开源+自主开发 - 淘宝软件基础设施构建实践
Wensong Zhang
?
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
babel_qi
?
贬补诲辞辞辫学习总结
贬补诲辞辞辫学习总结贬补诲辞辞辫学习总结
贬补诲辞辞辫学习总结
ordinary2012
?

More from Louis liu (20)

JK Log-Center architect
JK Log-Center architectJK Log-Center architect
JK Log-Center architect
Louis liu
?
Wdt Test
Wdt TestWdt Test
Wdt Test
Louis liu
?
JKDB BACKUP Introduction
JKDB BACKUP IntroductionJKDB BACKUP Introduction
JKDB BACKUP Introduction
Louis liu
?
Infiniflash benchmark
Infiniflash benchmarkInfiniflash benchmark
Infiniflash benchmark
Louis liu
?
MySQL Tokudb engine benchmark
MySQL Tokudb engine benchmarkMySQL Tokudb engine benchmark
MySQL Tokudb engine benchmark
Louis liu
?
Nvmfs benchmark
Nvmfs benchmarkNvmfs benchmark
Nvmfs benchmark
Louis liu
?
MySQL 5.7 milestone
MySQL 5.7 milestoneMySQL 5.7 milestone
MySQL 5.7 milestone
Louis liu
?
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
Louis liu
?
MySQL async message subscription platform
MySQL async message subscription platformMySQL async message subscription platform
MySQL async message subscription platform
Louis liu
?
HBASE Performane Test
HBASE Performane TestHBASE Performane Test
HBASE Performane Test
Louis liu
?
Jkcn MySQLDB 架构
Jkcn MySQLDB 架构Jkcn MySQLDB 架构
Jkcn MySQLDB 架构
Louis liu
?
基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
Louis liu
?
My sql fabric ha and sharding solutions
My sql fabric ha and sharding solutionsMy sql fabric ha and sharding solutions
My sql fabric ha and sharding solutions
Louis liu
?
NetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage TestNetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage Test
Louis liu
?
Exadata best practice on E-commerce area
Exadata best practice on E-commerce area Exadata best practice on E-commerce area
Exadata best practice on E-commerce area
Louis liu
?
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
Louis liu
?
Ssd gc review
Ssd gc reviewSsd gc review
Ssd gc review
Louis liu
?
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
Louis liu
?
Architecture of YHD
Architecture of YHDArchitecture of YHD
Architecture of YHD
Louis liu
?
JK Log-Center architect
JK Log-Center architectJK Log-Center architect
JK Log-Center architect
Louis liu
?
JKDB BACKUP Introduction
JKDB BACKUP IntroductionJKDB BACKUP Introduction
JKDB BACKUP Introduction
Louis liu
?
Infiniflash benchmark
Infiniflash benchmarkInfiniflash benchmark
Infiniflash benchmark
Louis liu
?
MySQL Tokudb engine benchmark
MySQL Tokudb engine benchmarkMySQL Tokudb engine benchmark
MySQL Tokudb engine benchmark
Louis liu
?
Nvmfs benchmark
Nvmfs benchmarkNvmfs benchmark
Nvmfs benchmark
Louis liu
?
MySQL 5.7 milestone
MySQL 5.7 milestoneMySQL 5.7 milestone
MySQL 5.7 milestone
Louis liu
?
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
Louis liu
?
MySQL async message subscription platform
MySQL async message subscription platformMySQL async message subscription platform
MySQL async message subscription platform
Louis liu
?
HBASE Performane Test
HBASE Performane TestHBASE Performane Test
HBASE Performane Test
Louis liu
?
Jkcn MySQLDB 架构
Jkcn MySQLDB 架构Jkcn MySQLDB 架构
Jkcn MySQLDB 架构
Louis liu
?
基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括基于Mongodb的压力评测工具 ycsb的一些概括
基于Mongodb的压力评测工具 ycsb的一些概括
Louis liu
?
My sql fabric ha and sharding solutions
My sql fabric ha and sharding solutionsMy sql fabric ha and sharding solutions
My sql fabric ha and sharding solutions
Louis liu
?
NetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage TestNetApp ef540 SSD Storage Test
NetApp ef540 SSD Storage Test
Louis liu
?
Exadata best practice on E-commerce area
Exadata best practice on E-commerce area Exadata best practice on E-commerce area
Exadata best practice on E-commerce area
Louis liu
?
MySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summaryMySQL 5.5&5.6 new features summary
MySQL 5.5&5.6 new features summary
Louis liu
?
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
Louis liu
?
Architecture of YHD
Architecture of YHDArchitecture of YHD
Architecture of YHD
Louis liu
?

Tcpcopy benchmark

  • 1. Jk.cn TCPCOPY-Real traffic benchmark tool TCPCOPY 由网易杭研开源,通过复制网卡端口流量,从而模拟线上真实负载,通过 N 倍放大做到真实环境流量翻倍的效果。 对于日常业务的激增起到一个预测作用。 TCPCOPY 可以直接将流量包复制至 MYSQL database,从而模拟线上 client 包流量的翻倍压力,对于测试机器来说,相当于将线 上机器成倍的增加,从而可以压测出当前 MYSQL DB 所能承受的极限值。对于 SQL 而言,也利于在高压力环境下的问题暴露。
  • 3. Jk.cn 通过直接导入线上流量, 模拟 troy 线上压力 测试环境: online server : 10.128.6.16 master test server : 10.128.6.83 clone database assistant server : 10.128.6.84 在 test server 上增加如下路由信息: route add -host 10.128.10.68 gw 10.128.6.84 route add -host 10.128.11.96 gw 10.128.6.84 route add -host 10.128.13.97 gw 10.128.6.84 route add -host 10.128.16.59 gw 10.128.6.84 route add -host 10.128.17.109 gw 10.128.6.84 route add -host 10.128.17.99 gw 10.128.6.84 route add -host 10.128.19.142 gw 10.128.6.84 route add -host 10.128.19.150 gw 10.128.6.84 route add -host 10.128.19.160 gw 10.128.6.84 route add -host 10.128.6.17 gw 10.128.6.84
  • 4. Jk.cn route add -host 10.128.7.121 gw 10.128.6.84 route add -host 10.128.7.122 gw 10.128.6.84 在 test server 上将线上(online server)上的 mysql client IP 请求全部路由到 assistant server 由 assistant sever 跟 这些 client 机器完 成握手,从而完成整个过程。Test server 本身并不负责这些连接的建立。
  • 6. Jk.cn 在 assistant server 上开启 intercept 进程 /usr/local/intercept/sbin/intercept -i bond0 -F 'tcp and src port 3307' -p 36525 –d 端口设置为 36525 在 online server 上开启 tcpcopy 进程 tcpcopy -x 3307-10.128.6.83:3307 -s 10.128.6.84:36525 -C 4 -n 50 将本地 3307 端口的流量直接复制到 test server (由 test server 路由至 assistant server, 最后由 assistant server 完成应答) ,实际的 数据包则在 test server 上执行 。 -C tcpcopy 进程与 intercept 进程开启并行通信 –n 将线上流量复制 N 倍 [20:33:26root@a1-tcpcopy-assis /usr/local/intercept/sbin] #netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' ESTABLISHED 5 TIME_WAIT 30 在 test server 上即可看到实际流量,经测试 –n 100 基本是一个极限值(tcpcopy 没有连接池的概念,所以对 test server 的连接都是短 连接,会引起 DB 层的瞬间连接暴增问题,目前没有好的解决方案)对于 troy 来说本身就是一个超过 4 万 QPS 的应用,而 TCPCOPY 极限压测到 5 万的 QPS 已经是上限了
  • 9. Jk.cn 下一步计划 按成自动化恢复+自动化压测 (需要实际的 slave 激活成 master, 直接线上 slave 压测存在风险)