西数蓝盘批量写入, 主键 uuid, 无限掉速
資深大佬 : bthulu 0
家用电脑, 西数蓝盘, 系统 Centos7, 用 docker 装了个 percona mysql 5.7.33. 创建了这么一张表, 执行批量写入测试.
CREATE TABLE `uc_user` ( `ID` varchar(32) NOT NULL, `USER_NAME` varchar(20) NOT NULL, `USER_PWD` varchar(40) NOT NULL, `BIRTHDAY` datetime NOT NULL, `NAME` varchar(10) NOT NULL, `USER_ICON` varchar(200) NOT NULL, `SEX` varchar(1) NOT NULL, `NICKNAME` varchar(20) NOT NULL, `STAT` varchar(16) NOT NULL, `USER_MALL` double NOT NULL, `LAST_LOGIN_DATE` datetime NOT NULL, `LAST_LOGIN_IP` varchar(15) NOT NULL, `SRC_OPEN_USER_ID` double NOT NULL, `EMAIL` varchar(80) NOT NULL, `MOBILE` varchar(11) NOT NULL, `IS_DEL` decimal(1,0) NOT NULL, `IS_EMAIL_CONFIRMED` decimal(1,0) NOT NULL, `IS_PHONE_CONFIRMED` decimal(1,0) NOT NULL, `CREATER` varchar(32) NOT NULL, `CREATE_DATE` datetime NOT NULL, `UPDATE_DATE` datetime NOT NULL, `MAC` varchar(17) NOT NULL, `SOURCE` varchar(4) NOT NULL, `ACTIVATE` varchar(4) NOT NULL, `ACTIVATE_TYPE` varchar(4) NOT NULL, `IS_LIFE` decimal(1,0) NOT NULL, PRIMARY KEY (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
每写入 500 条 commit 一次, 最终结果是, 随着写入量的增加, 每秒写入量逐步递减. 而我换成阿里云的 ecs, 同样在上面起了个 mysql5.7.33, 每秒写入量却能稳定在 4000. 这里的 id 是 uuid. 当把 id 换成自增主键时, 家用电脑每秒写入量就能稳定在 12000 了. 所以, 这里是不是因为西数蓝盘长时间 4k 随机读写掉速造成的? 而阿里云用的可能是西数黑盘, 4k 随机读写性能比较稳定?
已添加 9.6 万条数据, 每秒写入 6000 已添加 9.7 万条数据, 每秒写入 6062 ... 已添加 20.0 万条数据, 每秒写入 5882 已添加 20.1 万条数据, 每秒写入 5742 ... 已添加 22.0 万条数据, 每秒写入 5365 已添加 24.1 万条数据, 每秒写入 4820 已添加 26.0 万条数据, 每秒写入 4333 已添加 28.0 万条数据, 每秒写入 3888 已添加 30.0 万条数据, 每秒写入 3333 ... 已添加 35.0 万条数据, 每秒写入 2397 已添加 40.0 万条数据, 每秒写入 1860 已添加 45.0 万条数据, 每秒写入 1525 已添加 50.0 万条数据, 每秒写入 1295
大佬有話說 (24)