享受一种系统事故&难点处理反馈格局(COE)

by admin on 2019年2月20日

 

图片 1

单线程测试。测试做了如何。
# mysqlslap -a -uroot -p123456
二十四线程测试。使用–concurrency来效仿客户端并发连接数。如,九十六个客户端并发连接数据库。
# mysqlslap -a -c 100 -uroot -p123456
迭代测试。用于须要频仍履行测试得到平均值。如,迭代十四回,取平均值。
# mysqlslap -a -i 10 -uroot -p123456

继承工作

图片 2

六月31日午后业务部门在进展回款操作时,反映存在五个用户购买的标的,不过单号相同 

Demo 2:

丁总,如下为摇钱树标的交易订单号再一次事故的发出及处理进度。COE(Correction
Of Error)是大家在JD研发部时采纳的一种事故&难点处理举报格局。 

 

-10月16日20:00
张国战修正订单表表结构,裁撤自增的标识列主键,将订单号设为主键。

mysqlslap的运行有如下二个步骤:

-1三月三日10:00
张国战、徐夫明更改影响到的顺序,包蕴PC端和有线端的贸易、后台订单管理等模块,并做测试。

 

【后记】那就是大家常说的“复盘”。复盘,围棋术语,也称“复局”,指对局甘休后,双方旗手把刚刚的对弈再复演三回,那样可以有效地深化对那盘对弈的纪念,也可以找出双边攻守的漏洞,是做实本身水平的好法子。联想集团的管住中也引进了复盘那种艺术,并视作联想的三大方法论之一。当一人精晓复盘之后,他对于本人的干活就会有深入的认识和想到,具有一种惊人的直觉。就可以从纷纷复杂的景观中一眼抓住关键所在,找出化解难题的方式和路径。

三个测试都自动生成SQL测试脚本,各自迭代十一次取平均值。测试环境包括读、写、更新混合测试,自拉长字段、测试引擎为innodb。

-十月27日13:00
徐夫明发现难点,订单表订单号不是主键,同时,当时的订单号生成规则是以标准到秒时间格式命名,导致同一秒发生的贸易的订单号再一次。(此生成规则在7月23日早就变更为日期+七位随机数的章程)

参考:http://www.ha97.com/5182.html

徐夫明查看通过数据库总计订单,发以往有34笔那样的交易,唯有17个单号,即每2笔贸易共用二个单号。 

测试同时不同的囤积引擎的属性举办对照:
# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -p123456

任务名称

任务概述

负责人

完成时间

完成情况

数据库梳理

对现有数据库设计进行系统梳理,对于不合理的设计,给予改正。

张国战

11月17日

在进行

加强代码的Review工作

对于提交的代码进行严格的代码review,确保提交代码的质量以保证生产

张国战、徐夫明、王栋

 

以后会陆续执行

说明:
测试的进程须求转变测试表,插入测试数据,这些mysqlslap可以自动生成,专擅认同生成三个mysqlslap的schema,假设已经存在则先删除。可以用--only-print来打印实际的测试进度,整个测试完了后不会在数据库中留下痕迹。

标签:
COE,
复盘

mysqlslap是从5.1.4版开始的2个MySQL官方提供的下压力测试工具。通过模拟八个并发客户端访问MySQL来实施压力测试,并且能很好的相持统一七个存储引擎在相同环境下的产出压力品质差异。

 

# mysqlslap –uroot –p –concurrency=1000  –I 10 –a
–auto-generate-sql-type=mixed –auto-generate-sql-add-autoincrement
–engine=innodb –number-of-queries=1000

事故描述

Demo 1:

-1月九日17:00
业务部门对用户承诺,会对那34笔交易逐四回款。

从地点三个测试可以看出来,并发量从500改成一千的时候,查询时间大体类似原来的一倍左右。

-一月11日11:00
徐夫明查看通过数据库总结订单,发今后五月1二十四日、二十八日、227日、25日的交易中,存在34笔那样的订单,唯有1几个单号,即每2笔交易共用二个单号。单笔交易均为100元。

各类测试参数实例(-p前边跟的是mysql的root密码):

正如为2016/十月份的邮件。

 

-二月五日19:00 准备上线。 

http://www.jb51.net/article/28621.htm

处理进度描述

更详尽的参数请查阅官网文档:https://dev.mysql.com/doc/refman/5.7/en/mysqlslap.html#option_mysqlslap_debug-info

-7月二十五日10:00
业务部门反映存在五个用户购买的标的,可是单号相同

采取语法如下:
# mysqlslap [options]

事故症状

  1. 创制schema、table、test data 等,使用单个连接
    (在MySQL中,schema就是database);
  2. 运作负载测试,可以利用多个并发客户端连接;
  3. 测试环境清理(删除成立的多寡、表等,断开连接),使用单个连接。

发出的震慑

归来结果如下:

连日支付在开发成功后会回调大家系统,然后大家的连串会依据订单号更新订单为已支出。由此,当某2笔贸易共用2个单号时,当其中一笔已毕支付,会同时更新那2笔贸易为已支出。 

常用参数 [options] 详细表明:
--auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具自己生成的SQL脚本来测试并发压力。--auto-generate-sql-load-type=type 测试语句的类型。代表要测试的环境是读操作还是写操作还是两者混合的。取值包括:read,key,write,update和mixed(默认)。--auto-generate-sql-add-auto-increment 代表对生成的表自动添加auto_increment列,从5.1.18版本开始支持。--number-char-cols=N, -x N 自动生成的测试表中包含多少个字符类型的列,默认1--number-int-cols=N, -y N 自动生成的测试表中包含多少个数字类型的列,默认1--number-of-queries=N 总的测试查询次数(并发客户数×每客户查询次数)--query="sql statement",-q 使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。--create="sql statement" 创建表的SQL语句或文件--concurrency=N, -c N 表示并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者--delimiter参数指定的值做为分隔符。例如:--concurrency=100,200,500。--engine=engine_name, -e engine_name 代表要测试的引擎,可以有多个,用分隔符隔开。例如:--engines=myisam,innodb。--iterations=N, -i N 测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次。--only-print 只打印测试语句而不实际执行。--debug-info, -T 打印内存和CPU的相关信息。

 

# mysqlslap –uroot –p –concurrency=500  –I 10 –a
–auto-generate-sql-type=mixed –auto-generate-sql-add-autoincrement
–engine=innodb –number-of-queries=500

 

独家500个冒出,逐个并发客户端执行几回询问,共500次询问,和一千个冒出,每一种并发客户端执行四回查询,共一千次询问。为了规范起见,可以多迭代测试两回:“

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图