测试结果
小规模测试结果
测试场景
小规模数据存量情况下,测试场景如下:
数据库存量:6.5亿
数据库分表:通过Mycat分库,3台物理机,共100个数据库,每个库一张表
单表存量:平均650万(350万~900万)
数据库索引:extend0 (通过sensorgid和samplingtime计算获得,long型)
读写分离:无
网关数:10000
吞吐量:1500条/s
查询用户:10个用户并发查询,分10台电脑,每个电脑开打开1个客户端浏览器登录查询
查询条件:定时查询,前一条记录查询结束后过2s,自动查询下一条记录,并实时统计平均值
查询字段:extend0 (通过sensorgid和samplingtime计算获得,long型)
查询数据量:10000~20000
查询测试结果
在以上测试场景下,查询测试结果如下所示:
中规模测试结果
测试场景
中规模数据存量情况下,测试场景如下:
数据库存量:10.3亿
数据库分表:通过Mycat分库,3台物理机,共100个数据库,每个库一张表
单表存量:平均1000万(700万~1300万)
16 服务器 40个分表 每个分表 1300W数据
121服务器 30个分表 每个分表 1000W数据
142服务器 30个分表 每个分表 700W数据
数据库索引:extend0 (通过sensorgid和samplingtime计算获得,long型)
读写分离:无
网关数:10000
吞吐量:1500条/s
查询用户:10个用户并发查询,分10台电脑,每个电脑开打开1个客户端浏览器登录查询
查询条件:定时查询,前一条记录查询结束后过2s,自动查询下一条记录,并实时统计平均值
查询字段:extend0 (通过sensorgid和samplingtime计算获得,long型)
查询数据量:10000~20000
测试结果
10.3亿测试结果
大规模测试结果
测试场景
大规模数据存量情况下,测试场景如下:
数据库存量:26.1亿
数据库分表:通过Mycat分库,3台物理机,共100个数据库,每个库一张表
单表存量:平均2610万(1400万~3300万)
16 服务器 40个分表 每个分表 3000W数据
121服务器 30个分表 每个分表 1400W数据
142服务器 30个分表 每个分表 3300W数据
数据库索引:extend0 (通过sensorgid和samplingtime计算获得,long型)
读写分离:无
网关数:10000
吞吐量:1000条/s
查询用户:20个用户并发查询,分10台电脑,每个电脑开打开2个客户端浏览器登录查询
查询条件:定时查询,前一条记录查询结束后过2s,自动查询下一条记录,并实时统计平均值
查询字段:extend0 (通过sensorgid和samplingtime计算获得,long型)
查询数据量:10000~20000
测试结果
26亿测试结果
总结
通过性能优化后,一万个网关同时插入数据,当数据库存量在10亿以内时,吞吐量为1500条/秒,10个用户并发查询1万条记录的时间为1.1s左右;当数据库存量扩展到26.1亿时,吞吐量降为1000条/秒,20个用户并发查询1万条记录的时间为1.4s左右。