Assignment|MySQL数据库压力测试

序言

  1. 结合作业3,针对你的数据库中的一个表,编写简单的数据查询(查询语句应包括单个涉及非主属性等值比较的查询条件,设该非主属性为A,具体属性结合业务背景)和数据插入语句,程序应能在终端或服务器以文件形式记录每次数据读写操作的耗时。作业三就是之前的设计的微信群聊天业务,也是大作业

  2. 无索引压力测试实验:设定该表的数据插入频率(如100条/秒),至少有1台以上终端以并发的形式插入数据,运行一段时间使数据达到百万条级以上,数据规模上限自定。同时使用1台终端每秒并发执行一次查询操作,要求查询条件不包含主码,且不存在针对属性A建立的非聚集索引。

  3. 有索引压力测试:清空原有数据,实验内容同上,但除主键索引外,需要针对属性A建立非聚集索引,重新执行一轮压力测试。

  4. 选做:加大数据插入与查询频率,观察你的服务器和不同设计方案的压力承受能力。注意控制规模以免导致硬盘工作空间溢出。

  5. 分析实验数据,制作图表,观察同一方案插入时间与查询时间变化,分析实验结果原因。

  6. 分析实验数据,制作图表,比较相同资源条件下不同方案同一指标随时间的变化,分析实验结果原因。

实现

我选择的业务模型是微信聊天群模型。插入表是对聊天记录表进行插入,如图一。group_message_ID这列设置自增,ID这列是用来设置有无索引的对照列,用python生成10000-99999之间的随机int来插入ID,message列是使用50W中文聊天语句数据集。mess_time是插入时间。

结论

大部分东西在报告