怎样进行数据库性能测试
作者:网络转载 发布时间:[ 2013/3/19 9:56:56 ] 推荐标签:
测试数据准备:
数据库:flashT
36张表:
Test1- test36:
表结构:
CREATE TABLE `test1` (
`doc_id` int(10) unsigned NOT NULL default ’0′,
`main_status` tinyint(3) unsigned NOT NULL default ’0′,
`sub_status` tinyint(3) unsigned NOT NULL default ’0′,
`create_time` int(10) unsigned NOT NULL default ’0′,
cid1` smallint(5) unsigned NOT NULL default ’0′,
……………
PRIMARY KEY (`doc_id`)
);
数据量:
每个表达到5000W 行(大概30G)
36个表
说明:具体的测试库表结构、类型
每张表的测试数据量等都需要根据具体测试目的和测试场景进行设计。
四、测试步骤
测试一: 不同集群配置,不同实例的性能对比测试
一: 数据构造,同时验证各硬件集群基本读、写性能。
1)4个实例全部开启insert 5000W;初步对比写性能。
用36个slap并发实例分别往36张表insert,往每个表插入5000W 行数据。
2)4个实例全部开启,每张表20个select并发select。初步对比读性能。
用36个slap并发实例子每个实例20个并发select请求分别从36张表中取数据。
二:对比不同集群执行常用SQL命令的性能情况
制定数据库系统常用的SQL语句,数据库执行这些SQL语句的性能。用slap并发用户数从10,50,100,200。
三:对比不同集群处理耗时SQL命令的性能情况
制定数据库系统耗时的SQL语句,数据库执行这些SQL语句的性能。用slap并发用户数从10,50,100,200。
四:模拟事务处理,对比各集群性能情况。
模拟事物,,用slap并发用户数10,50,100,200,500,800,1000分析不同集群分别在多少并发用户数下,TPS值大。
五:分析各集群在线事物处理能力。
模拟事务处理,根据步骤四得到的大TPS,设置TPS的一定比率作为每秒事务数,用jemeter测试,并发,10,50,100,200,500,800,1000.分析各个并发各种集群下的响应时间分布和其他各项性能指标。分析TPS情况好的并发数。
测试二:网卡瓶颈测试
步骤一:分析测试一中的各项测试结果的CPU、磁盘、网卡等负载情况。
如果其他几项比网卡提前到达瓶颈。则说明网卡不会成为瓶颈。相反进入步骤二。此外,如果测试一中的各项测试磁盘,网卡,CPU等均未达到瓶颈。则将测试一中的步骤四,增大并发压力,直到出现负载瓶颈。
步骤二:调整测试。
测试三:硬件是否衰减情况。
步骤:用jmeter 持续测试24小时。
用测试一中的步骤五得到的好TPS的并发数作为此次测试的并发数,用Jmeter并发测试24小时,分析第一个小时和后一个小时的TPS,和响应时间分布。
(注意每一次测试命令中,涉及查询条件的值随机分布)
五、总结:
关于数据库性能测试,只要掌握了压力测试工具。关键的还是设计出符合业务的测试模型,以及测试完成后的测试分析。通过实践抽象出测试模型,进行自动化,则测试过程可以事半功倍。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11