服务器配置
服务器类型 | cpu核数 | 内存 |
---|---|---|
Windows 2008 R2 | 32 | 16G |
数据库配置
数据库类型 | CPU核数 | 内存 |
---|---|---|
oracle 11gR2 | 默认值 | 8G |
sqlserver 2005 | 默认值 | 8G |
db2 10.5 | 默认值 | 8G |
测试结果如下:
数据库类型 | 写入方式 | 写入行数 | 总耗时(秒) | 平均每秒写入记录数(RPS) |
---|---|---|---|---|
oracle | insert | 1,000 | 2 | 500 |
oracle | insert_update | 1,000 | 3 | 333 |
oracle | insert | 10,000 | 2 | 5000 |
oracle | insert_update | 10,000 | 9 | 1111 |
oracle | insert | 100,000 | 2 | 50000 |
oracle | insert_update | 100,000 | 73 | 1370 |
oracle | insert | 500,000 | 7 | 71429 |
oracle | insert_update | 500,000 | 372 | 1344 |
oracle | insert | 1,000,000 | 14 | 71429 |
oracle | insert_update | 1,000,000 | 762 | 1312 |
oracle | insert | 3,000,000 | 41 | 73171 |
oracle | insert_update | 3,000,000 | 2276 | 1318 |
oracle | insert | 6,000,000 | 86 | 69767 |
oracle | insert_update | 6,000,000 | 4440 | 1351 |
oracle | insert | 10,000,000 | 148 | 67568 |
oracle | insert_update | 10,000,000 | 7156 | 1397 |
sqlserver | insert | 1,000 | 1 | 1000 |
sqlserver | insert_update | 1,000 | 1 | 1000 |
sqlserver | insert | 10,000 | 2 | 5000 |
sqlserver | insert_update | 10,000 | 8 | 1250 |
sqlserver | insert | 100,000 | 4 | 25000 |
sqlserver | insert_update | 100,000 | 79 | 1266 |
sqlserver | insert | 500,000 | 19 | 26316 |
sqlserver | insert_update | 500,000 | 352 | 1421 |
sqlserver | insert | 1,000,000 | 38 | 26316 |
sqlserver | insert_update | 1,000,000 | 701 | 1427 |
sqlserver | insert | 3,000,000 | 111 | 27027 |
sqlserver | insert_update | 3,000,000 | 2108 | 1423 |
sqlserver | insert | 6,000,000 | 225 | 26667 |
sqlserver | insert_update | 6,000,000 | 4230 | 1418 |
sqlserver | insert | 10,000,000 | 383 | 26110 |
sqlserver | insert_update | 10,000,000 | 7104 | 1408 |
db2 | insert | 1,000 | 1 | 1000 |
db2 | insert_update | 1,000 | 1 | 1000 |
db2 | insert | 10,000 | 2 | 5000 |
db2 | insert_update | 10,000 | 9 | 1111 |
db2 | insert | 100,000 | 6 | 16667 |
db2 | insert_update | 100,000 | 64 | 1563 |
db2 | insert | 500,000 | 20 | 25000 |
db2 | insert_update | 500,000 | 306 | 1634 |
db2 | insert | 1,000,000 | 38 | 26316 |
db2 | insert_update | 1,000,000 | 582 | 1718 |
db2 | insert | 3,000,000 | 112 | 26786 |
db2 | insert_update | 3,000,000 | 1796 | 1670 |
db2 | insert | 6,000,000 | 224 | 26786 |
db2 | insert_update | 6,000,000 | 3601 | 1666 |
db2 | insert | 10,000,000 | 373 | 26810 |
db2 | insert_update | 10,000,000 | 6026 | 1660 |
insert性能对比
在执行插入时,:sqlserver,db2性能相近,oracle 明显高于前2者,约为3倍的写入速度;
insert_update 性能对比
在执行插入、更新时,sqlserver,db2,oracle 三者性能接近,无明显差异;
oracle insert与update性能对比
oracle数据插入(insert)速度约为更新(update)速度的50倍;
注意事项
1、上述性能测试环境,未做任何优化处理,如果对数据库进行任何优化,则测试结果可能与本次实验存在差异;
2、上述测试均在一台机器上进行,如果通过网络连接多台机器进行测试,测试结果可能与本次实验存在差异;
3、上述测试中,数据源为程序自动生成的顺序数据,实际环境中需要考虑数据源的加载性能,测试结果可能与本次实验存在差异;