文档章节

TiDB 集群测试

Haffe
 Haffe
发布于 2016/07/27 14:53
字数 548
阅读 778
收藏 0

测试分为两个步骤:

  1. 简单手工测试
  2. 脚本自动化测试

手工测试

在另一个公有网络中(非数据库集群网络),通过MySQL客户端,连接上TiDB集群进行测试。 主要测试基本命令的可用性。

  • 列出数据库 使用SHOW DATABASES命令查询,花费0.01s

  • 创建与删除数据库 手工进行了三次数据库的创建与删除,时间分别为:

第x次 创建时间 删除时间
1 10.03s 10.02s
2 10.02s 10.01s
3 10.03s 10.02s
  • 创建与删除表 创建表语句如下:

    CREATE TABLE world (id int NOT NULL AUTO_INCREMENT, name VARCHAR(20), age INT DEFAULT 0, PRIMARY KEY(id));
    

    花费时间10.04s

  • 插入数据测试 插入数据SQL语句如下:

    INSERT INTO world (name, age) VALUES ("Hello", 10);
    

    手工进行了5次插入,成功时间分别为:0.02s, 0.01s, 0.02s, 0.01s, 0.01s

  • 查找数据测试 查找数据SQL语句如下:

    SELECT * FROM world;
    

    手工测试查询10次,成功时间都不超过 0.01s

  • 更新数据测试 更新数据SQL语句如下:

    UPDATE world SET age = 20 WHERE id = 1;
    

    手工测试更新10次,成功时间都不超过 0.01s

  • 删除数据测试 删除数据SQL语句如下:

    DELETE FROM world WHERE id = 1;
    

    手工测试删除10次,共花费时间 0.12s

手工测试后的一些疑问

  1. FLUSH PRIVILEGES 不可用
  2. 如何进行设置,如时区与字符集设置

脚本测试

自动化测试工具采用的是PingCAP自己做的一个数据库测试工具。

SELECT 测试

  1. 默认参数(rows: 10000, pool: 100, concurrent worker: 50, times: 10000)
    结果:elapse : 40.781883s tps:245.206924

  2. 自定义参数(rows: 100000, pool: 100, concurrent worker: 100, times: 100000)
    结果:elapse : 97.996369s tps:1020.445969

UPDATE 测试

  1. 默认参数(rows: 10000, pool: 100, concurrent worker: 50, times: 10000)
    结果:elapse : 56.146370s tps:178.105905

  2. 自定义参数(rows: 100000, pool: 100, concurrent worker: 100, times: 100000)
    结果:elapse : 83.560040s tps:1196.744286

DELETE测试

  1. 默认参数(rows: 10000, pool: 100, concurrent worker: 50, times: 10000)
    结果:elapse : 57.983487s tps:172.462895

  2. 自定义参数(rows: 100000, pool: 100, concurrent worker: 100, times: 100000)
    结果:elapse : 94.524175s tps:1057.930421


PS: 吐槽一下OSC的Markdown渲染,太烂了...

© 著作权归作者所有

上一篇: uglifyjs的使用
下一篇: TiDB 集群安装
Haffe
粉丝 9
博文 26
码字总数 14530
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

十一文
十一文
问您一下 tidb的 全表扫描查询 或者关联查询 性能有测试过吗。按照你这个测试结果 囧 ,性能不是很好
TiDB Binlog 源码阅读系列文章(二)初识 TiDB Binlog 源码

作者:satoru TiDB Binlog 架构简介 TiDB Binlog 主要由 Pump 和 Drainer 两部分组成,其中 Pump 负责存储 TiDB 产生的 binlog 并向 Drainer 提供按时间戳查询和读取 binlog 的服务,Drainer...

TiDB
07/05
22
0
TiDB-Lightning Toolset & TiDB-DM 正式开源,前排开“坑”、PR 走起!

在刚刚结束的 TiDB DevCon 2019 上,我们宣布将大家期待已久的 TiDB-Ligthning Toolset 和 TiDB-DM 开源(惊不惊喜、意不意外?!),感兴趣的小伙伴们赶紧前排关注一波,开“坑(issues)”...

TiDB
01/21
137
0
云上 TiDB 管理利器,TiDB Operator 1.0 GA 发布

TiDB Operator 1.0 GA 发布,它是实现 TiDB 在 Kubernetes 上的部署和运维。 提供包括部署、升级、扩缩容、备份恢复、配置变更的 TiDB 全生命周期管理。借助 TiDB Operator,TiDB 可以无缝运...

afterer
08/01
1K
1
TiDB Binlog 源码阅读系列文章(一)序

作者:黄佳豪 TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如 TiDB、MySQL 等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提...

TiDB
06/18
41
0
TiDB Executive Summary

一、重要文档 ● 【TiDB 中文文档】 https://pingcap.com/docs-cn ● 【FAQ】 https://pingcap.com/doc-FAQ-zh ● 【OPS】https://www.tidb.cc 二、TiDB 的技术原理 ● 【TiDB 技术内幕】 ○...

易野
2018/10/27
75
0

没有更多内容

加载失败,请刷新页面

加载更多

一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
22分钟前
2
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
24分钟前
2
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
37分钟前
2
0
正则表达式

一、RegExp对象 进行验证和查找的API 1、创建对象: (1)用/创建(直接量):var reg=/正则/ig,表达式固定不变时使用 (2)用new创建:var reg=new RegExp(‘正则’,‘ig’),表达式需要...

wytao1995
37分钟前
2
0
实战限流(guava的RateLimiter)

关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取...

程序员欣宸
38分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部