MySQL每秒57万的写入,带你装逼,带你飞 !!
共 3692字,需浏览 8分钟
·
2021-02-10 15:45
往期热门文章:
1、用 Java 撸了一款 SSH 客户端 2、处理 Exception 的几种实践,很优雅,被很多团队采纳! 3、一致性协议算法-2PC、3PC、Paxos、Raft、ZAB、NWR详解 4、这款IDEA插件刷爆了朋友圈,网友:一定是女朋友送的~ 5、@Autowire和@Resource注解使用的正确姿势,别再用错的了!! 来源 | 网络
一、需求
二、实现再分析
三、XeLabs TokuDB介绍
内置了jemalloc 内存分配
引入更多的内置的TokuDB性能指标
支持Xtrabackup备份
引入ZSTD压缩算法
支持TokuDB的binloggroupcommit特性
四、测试表
loose_tokudb_cache_size=4G
loose_tokudb_directio=ON
loose_tokudb_fsync_log_period=1000
tokudb_commit_sync=0
CREATE TABLE `user_summary` (
`user_id` bigint(20) unsigned NOT NULL COMMENT '用户id/手机号',
`weight` varchar(5) DEFAULT NULL COMMENT '和码体重(KG)',
`level` varchar(20) DEFAULT NULL COMMENT '重量级',
`beat_rate` varchar(12) DEFAULT NULL COMMENT '击败率',
`level_num` int(10) DEFAULT NULL COMMENT '同吨位人数',
UNIQUE KEY `u_user_id` (`user_id`)
) ENGINE=TokuDB DEFAULT CHARSET=utf8
root@localhost [zst]>LOAD DATA INFILE '/u01/work/134-136.txt' \
INTO TABLE user_summary(user_id, weight, level, beat_rate,level_num);
Query OK, 200000000 rows affected (5 min 48.30 sec)
Records: 200000000 Deleted: 0 Skipped: 0 Warnings: 0
root@localhost [zst]>select 200000000/(5*60+48.30);
+------------------------+
| 200000000/(5*60+48.30) |
+------------------------+
| 574217.6285 |
+------------------------+
1 row in set (0.00 sec)
-rw-r--r-- 1 root root 8.5G 11月 25 20:05 134-136.txt
-rw-r----- 1 mysql mysql 8.6K 11月 25 20:44 user_summary.frm
-rw-r----- 1 mysql mysql 3.5G 11月 25 20:51 user_summary_main_229_1_1d_B_0.tokudb
-rw-r----- 1 mysql mysql 35G 11月 25 23:29 user2_main_26a_1_1d_B_0.tokudb
-rw-r----- 1 mysql mysql 176G 11月 26 03:32 user5.ibd
root@localhost [zst]>CREATE TABLE `user3` (
-> `user_id` bigint(20) unsigned NOT NULL COMMENT '用户id/手机号',
-> `weight` varchar(5) DEFAULT NULL COMMENT '和码体重(KG)',
-> `level` varchar(20) DEFAULT NULL COMMENT '重量级',
-> `beat_rate` varchar(12) DEFAULT NULL COMMENT '击败率',
-> `level_num` int(10) DEFAULT NULL COMMENT '同吨位人数',
-> `id` bigint(20) NOT NULL AUTO_INCREMENT,
-> PRIMARY KEY (`id`),
-> UNIQUE KEY `u_user_id` (`user_id`)
-> ) ENGINE=TokuDB;
Query OK, 0 rows affected (0.03 sec)
root@localhost [zst]>LOAD DATA INFILE '/u01/work/134-136.txt' INTO TABLE user3(user_id, weight, level, beat_rate,level_num);
Query OK, 200000000 rows affected (22 min 43.62 sec)
Records: 200000000 Deleted: 0 Skipped: 0 Warnings: 0
五、测试环境说明
最近热文阅读:
1、用 Java 撸了一款 SSH 客户端 2、处理 Exception 的几种实践,很优雅,被很多团队采纳! 3、一致性协议算法-2PC、3PC、Paxos、Raft、ZAB、NWR详解 4、这款IDEA插件刷爆了朋友圈,网友:一定是女朋友送的~ 5、@Autowire和@Resource注解使用的正确姿势,别再用错的了!! 6、Java中的Switch都支持String了,为什么不支持long? 7、请谨慎使用Arrays.asList、ArrayList的subList 8、人脸识别“抓”错了人,他在监狱呆了 10 天 9、骚操作 !IDEA 防止写代码沉迷插件 ! 10、这四种情况下,才是考虑分库分表的时候! 关注公众号,你想要的Java都在这里