MySQL数据库测试工具

MySQL数据库测试工具

ID:37827291

大小:228.83 KB

页数:11页

时间:2019-06-01

MySQL数据库测试工具_第1页
MySQL数据库测试工具_第2页
MySQL数据库测试工具_第3页
MySQL数据库测试工具_第4页
MySQL数据库测试工具_第5页
资源描述:

《MySQL数据库测试工具》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库压力测试工具(微博:平民架构)过去五年里,我在管理全球最大的在线支付系统(阿里巴巴集团旗下的支付宝)的数据库。2012年11月11号全站支持了超过1亿笔的在线支付交易,核心数据库当天处理了40亿个数据库事务、285亿次SQL执行、1930亿次内存数据块访问、生成了15GB的数据库日志。面对这种压力,我需要精确地了解每个数据库(不管是Oracle还是MySQL)所能支撑的业务能力,以便有足够的信心以支持0点时的高峰压力,高峰压力可能会达到平时的6倍以上。因此我花费了大量的时间在数据库的容量测试上,比如测试不同的硬件表现,例如:SSD、FusionIO等等,并且编写了自己的数据库

2、压力测试工具,因为市面上找不到足够简单实用的同类工具。测试中最重要的是对业务模型的抽象和测试,最好能知道不同压力下的SQL响应时间曲线,以避免系统雪崩效应。测试工具应当能使用你自己创建的业务表,很协助你很容易生成随机的压测数据,并且能定制关键的测试逻辑,并能生成足够详细的时延信息。然后可以结合应用对数据库层的时延要求,就可以知道高峰时段我们到底需要准备多少台数据库的主机,以避免巨大的资源浪费。测试工具主要集中在事务能力方面,下图是压测工具的设计图(两年前画的图,让同事实现过一个版本,现在自己重新实现了一遍)。配置文件事务处理随机数生成(查询/更新)数据库日志文件后面会解释每一块的内

3、容,然后你就会学会如何使用,可以用来测试数据库(不同软硬件条件下)的性能,以及进行容量评估,可以充分享受数据库压力测试的过程,不需要任何脚本编程能力。随机数生成测试工具可以定义一些变量,并且设置随机值的取值范围,然后在SQL语句中用冒号加变量名来加以引用,Oracle和MySQL都是同样的使用方式。例如:INSERTINTO()VALUES(:varname,:varname,);SELECT*FROMWHERE>:varname;总共有9种不同的变量类型可以选择,变量定义的语法如下所示:变量名VARTYPE最小值最大值变量名VAR

4、TYPE值列表变量类型可以是“SEQ”、“INT”、”INTLIST”、“CHAR”、“STRLIST”、“FLOAT”、“DOUBLE”、“DATE”、“TIMESTAMP”中的任何一种,下面是各种变量类型的含义:SEQ自动递增的32位整数,从最小值开始一直到最大值,如果测试用例执行的次数超过最大值,则会自动从头开始循环使用,有点象Oracle数据库里的Sequence对象。例如:V_seq1seq1100000000V_seq2seq1100000000INT自动递增的32位整数,在最小值和最大值之间自动选取一个随机值。例如:V_int1INT1100000000V_int

5、2INT1100000000INTLIST从给定的值中自动选取一个整数值,多个值之间用逗号分隔,两个值中间不能带空格。例如:V_int1INTLIST1,2,3,4,5,6,7V_int2INTLIST1,1,2,2,3,3,4,4,5,5,6,6,7,7CHAR字符串类型,自动生成值(A-Z之间的字母填充),需要定义最小长度和最大长度,最大长度是255个字节。例如:V_str1CHAR1020V_str2CHAR44STRLIST从给定的字符串中自动选取一个字符串,多个字符串之间用逗号分隔。要求字符串的值不能包含空格,两个字符串之间不能带空格。例如:V_str1STRLIS

6、TSun,Mon,Tue,Wed,Thr,Fri,SatV_str1STRLISTMale,FemaleFLOAT低精度浮点数,在最小值和最大值之间自动选取一个随机值。例如:V_flt1FLOAT1100000000V_flt2FLOAT1100000000DOUBLE高精度浮点数,在最小值和最大值之间自动选取一个随机值。例如:V_dbl1DOUBLE1100000000V_dbl2DOUBLE1100000000DATE自动生成的具有日期格式(YYYY-MM-DD)的字符串,需要指定日期范围,开始日期为当前日期减最小值,结束日期为当前日期加最大值。例如指定值“-10”表示开

7、始日期为10天前,指定”10”表示10天后。例如:V_date1DATE-1010V_date2DATE-3030TIMESTAMP自动生成的具有日期格式(YYYY-MM-DDHH24:MI:SS)的字符串,需要指定日期范围,开始日期为当前日期减最小值,结束日期为当前日期加最大值。例如指定值“-10”表示开始日期为10天前,指定”10”表示10天后。例如:V_datetime1TIMESTAMP-1010V_datetime2TIMESTAMP-1010使用不同的变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。