|
数据库性能测试,以下是测试结果和结论, 1.1 汇总
数据库操作耗时结果汇总 统计取20次操作的平均值(单位:毫秒) 测试环境 CPU Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz 内存 Samsung 16GB DDR4 2400 硬盘 SanDisk SD8SB8U-128G-1006 操作系统 CentOS Linux release 7.6.1810 (Core) 单表数据量级 1万 10万 100万 内存数据库 单条插入 1 1 1 单条更新 3 17 135 单条删除 3 27 152 文件数据库 单条插入 88 105 101 单条更新 96 159 562 单条删除 102 109 549
1.2 结论 1. 无论内存数据库还是文件数据库,随着数据量从1万增长到100万,单条插入操作耗时时间基本不变,单条更新和单条删除操纵耗时明显呈正比增长。 2. 按照目前SRS软件录像的模式,保存一条录像需要进行1次插入和1次更新操作,操作文件数据库在1万数量级耗时184ms,10万数量级264ms,100万数量级663ms。 按照30秒一个TS文件切片计算,当数据库分别处于三个数量级的时候,30秒内可以处理操作数量是: 1万数量级 30s / 184ms ≈ 163 10万数量级 30s / 264ms ≈ 113 100万数量级 30s / 663ms ≈ 45 也就是说文件数据库在单表1万数量级的时候,最多同时响应163路视频按照30秒一个切片的录制,在10万/100万数量级的时候,只能支持到113路/45路视频录制。 3. 根据测试数据,如果需要支持更短的TS切片时间或者更多的视频路数,可以从以下方面着手: (1) 降低数据库单表数据数量级,一组数据用一条记录存储 (2) 减少数据库更新操作,把更多的信息保存在程序内存里,尽量只插入新数据少更新数据
详细测试数据:
2.1 1万数据量测试 单表1W数据量统计明细(单位:毫秒) 内存数据库 文件数据库 第n次 插入 更新 删除 插入 更新 删除 1 1 5 6 63 99 115 2 1 3 5 80 93 104 3 1 2 2 99 96 96 4 1 3 7 57 92 106 5 1 4 5 88 85 121 6 1 3 2 78 91 89 7 1 3 6 103 94 99 8 1 3 5 93 95 110 9 1 3 1 92 93 129 10 1 4 5 71 98 98 11 1 3 1 70 84 93 12 1 2 4 93 87 86 13 1 4 3 81 100 92 14 1 3 2 91 101 93 15 1 3 1 93 110 110 16 1 13 1 127 115 98 17 1 3 5 98 96 88 18 1 3 5 111 97 111 19 1 3 5 102 103 103 20 1 3 2 84 100 110 平均 1 3.65 3.65 88.7 96.45 102.55
2.2 10万数据量测试 单表10W数据量统计明细(单位:毫秒) 内存数据库 文件数据库 第n次 插入 更新 删除 插入 更新 删除 1 1 17 35 104 133 94 2 1 16 30 129 178 103 3 1 18 28 86 95 112 4 1 23 66 104 169 116 5 1 17 27 121 164 107 6 1 17 22 102 171 122 7 1 16 32 97 127 92 8 1 18 17 102 153 107 9 1 16 16 104 158 119 10 1 18 16 97 158 111 11 1 17 19 113 177 109 12 1 18 17 106 167 99 13 1 16 33 115 168 102 14 1 16 20 95 168 103 15 1 17 32 105 167 104 16 1 17 31 108 168 111 17 1 18 30 100 167 120 18 1 17 19 114 170 110 19 1 16 19 106 165 122 20 1 16 32 107 168 120 平均 1 17.2 27.05 105.75 159.55 109.15
2.3 100万数据量测试 单表100W数据量统计明细(单位:毫秒) 内存数据库 文件数据库 第n次 插入 更新 删除 插入 更新 删除 1 1 145 136 88 553 548 2 1 136 143 80 557 532 3 1 133 154 119 552 545 4 1 138 156 110 566 535 5 1 136 153 104 569 545 6 1 133 144 103 550 552 7 1 134 196 124 546 571 8 1 134 147 104 555 545 9 1 132 138 99 565 557 10 1 135 176 96 554 563 11 1 140 153 87 552 543 12 1 134 164 108 549 572 13 1 135 148 103 561 547 14 1 135 146 98 555 541 15 1 125 155 109 583 554 16 1 140 164 99 561 557 17 1 133 138 119 629 540 18 1 136 145 104 543 570 19 1 139 157 98 594 542 20 1 135 141 85 550 537 平均 1 135.4 152.7 101.85 562.2 549.8 |