mysql、clickhouse读写分离性能测试

背景:

直接用clickhosue处理,每次更新有1秒的延迟(目前提交机制1秒或者1000条提交一次);

clickhouse支持导入mysql数据,也支持统计查询mysql数据;

所以测试评估一下mysql直接统计查询、使用clickhouse统计查询mysql数据、直接使用clickhouse查询统计的性能对比;

1、导入测试数据100w

插入性能:mysql-> 300/s;2核、16g内存

                  Clickhouse-> 20000/s;2核、16g内存       

2、使用mysql测试:

a、select assetId ,count(*) from alert a  group by assetId;  //统计long类型

耗时:19.5s

b、select title ,count(*) from alert a  group by title;  //统计String类型

耗时:29.9s

c、select assetId ,title ,count(*) from alert a  group by assetId,title;  //多字段类型统计

耗时:20.5s

select * from alert limit 0,100;  //列表查询
耗时:0.006s

select * from alert where title like '%title%' limit 0,100;  //模糊查询
耗时:0.007s

3、使用clickhouse查询mysql测试

1、SELECT  assetId ,COUNT(*) FROM mysql('127.0.0.1:3306', 'test', 'test', 'test', 'test') group by assetId;
耗时:1.3s
2、SELECT  title ,COUNT(*) FROM mysql('127.0.0.1:3306', 'test', 'test', 'test', 'test') group by title;
耗时:0.8s
3、SELECT  assetId,title ,COUNT(*) FROM mysql('127.0.0.1:3306', 'test', 'test', 'test', 'test') group by assetId,title;
耗时:1s
4、SELECT * FROM mysql('127.0.0.1:3306', 'test', 'test', 'test', 'test') limit 0,100
耗时:12.7s
5、SELECT  * FROM mysql('127.0.0.1:3306', 'test', 'test', 'test', 'test') where title like '%title%' limit 0,100
耗时:12.7s

4、使用clickhouse查询测试 

1、select assetId ,count(*) from alert a  group by assetId;  //统计long类型
耗时:0.08s
2、select title ,count(*) from alert a  group by title;  //统计String类型
耗时:0.06s
3、select assetId ,title ,count(*) from alert a  group by assetId,title;  //多字段类型统计
耗时:0.12s
4、select * from alert limit 0,100;  //列表查询
耗时:0.05s
5、select * from alert where title like '%title%' limit 0,100;  //模糊查询
耗时:0.05s

5、总结:

sql

mysql

ck查mysql

ck

1

19.5s

1.3s

0.08s

2

29.9s

0.8s

0.06s

3

20.5s

1s

0.12s

4

0.006s

12.7s

0.05s

5

0.007s

12.7s

0.05s

统计查询:

ck查mysql比直接查mysql快20倍左右;

ck直接查比mysql快200倍左右;

ck存储是mysql的6倍左右。

列表/模糊查询:

mysql查询速度比ck快8倍左右;比使用ck查mysql快2000倍左右。

追求极致性能推荐直接使用ck存储查询,弊端是更新有1s延迟;

不追求极致性能推荐使用mysql存储,使用mysql进行列表、模糊查询,使用ck查mysql的方式统计查询;弊端是每次查询需要带有('127.0.0.1:3306', 'test', 'test', 'test', 'test') mysql信息.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值