Cockroach性能指标

2020-07-27 10:52

上次配合业务方执行Cockroach测试命令,获得了一些基本的数据,感觉数据量和查询SQL很常用,所以发出来,可以为打算使用Cockroach的朋友提供参考。

为了方便在网上发布,表名,字段数量和字段名称我手工修改了一下,具体执行的时候可能会出现错误,请见谅。

test1表5个实例3个副本,599个range,总大小399G。

CREATE TABLE `test1` (
  `id` uuid NOT NULL DEFAULT gen_random_uuid(),
  `xx_code` varchar(50) DEFAULT NULL,
  `dd_time` datetime DEFAULT NULL,
  `bb_id` bigint(20) DEFAULT NULL,
  `yn` tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否有效',
  PRIMARY KEY (`id`),
  KEY `index_xx_code` (`xx_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

count总数

mysql> select count(*) from test1;
+------------+
| count(*) |
+------------+
| 1046688500 |
+------------+
1 row in set (12 min 11.87 sec)

写入QPS

每个事务写入100条记录,1000线程,每个线程写入10000个事务,总共用时30个小时。写入QPS大概是10000/秒。

DDL加字段

mysql> ALTER TABLE test1 ADD yn tinyint(4) NOT NULL DEFAULT '1' COMMENT '是否有效';
Query OK, 0 rows affected (4 hours 41 min 51.70 sec)

加联合索引

mysql> ALTER table test1 add INDEX `index_xx_code_dd_time` (`xx_code`,`dd_time`);
Query OK, 0 rows affected (1 hour 9 min 37.94 sec)

索引查询

mysql> select * from test1 where xx_code = 'xx' ;
...
20 rows in set (38 min 18.61 sec)

用时38min,说明没有使用索引。把索引删除,重建索引,查询恢复正常,毫秒级的

GROUP BY

mysql> select bb_id, count(*) from test1 group by bb_id;
+----------------+-----------+
| bbbbbbbbbbb_id | count(*)  |
+----------------+-----------+
|             44 |  52968900 |
|             33 | 988011600 |
|            888 |   5708000 |
+----------------+-----------+
3 rows in set (6 min 48.23 sec)