蝙蝠在线考试系统Derby、MySQL、Oracle数据库性能测评
2015-10-21 18:56
编辑:蝙蝠
阅读:
13764
次
公司近期对《蝙蝠在线考试系统》使用的几种典型数据库进行了简单性能测试。本文总结了测试过程及结论,以供各位用户选择数据库时参考。
数据库方案及优缺点:
- Derby(Embed): 纯Java数据库,可与Java应用无缝集成,但可用第三方GUI工具较少;
- MySQL5.6: 在php等小型系统中应用广泛,可用工具多,性能一般;
- Oracle11.2g: 大型数据库,商业领域应用多,性能突出,对硬件要求高,资源开支较大。
以上三种数据库的生产商分别是Apache自由软件基金会、Oracle,都久经大规模使用测试,BUG极少,高度可靠。
测试方法介绍:
- 首先把单选题表中的所有数据取出(不统计此时间)
- 按照步骤1中各条数据ID重新循环从数据库中读出单条数据;
- 将步骤2循环N次;
- 统计读取时间;
- 按照步骤1中各条数据循环进行单条数据修改;
- 将步骤5循环N次;
- 统计写入时间。
在上测试方法在三种数据中分别进行,测试结果如下:
表 1. 三种数据库读写时间对比
|
Derby10 (Embed) |
MySQL5.6 |
Oracle11.2g |
表引擎 |
|
InnoDB |
|
数据量 |
361 |
380 |
401 |
循环次数 |
5 |
5 |
5 |
|
|
|
|
读时间 |
0.372 s |
3.654 s |
3.016 s |
写时间 |
1.166 s |
8.466 s |
7.399 s |
结论:当使用Derby作为考试系统内部嵌入型数据库时,由于是进程内通信,其性能表现优异,大幅超越MySQL与Oracle.
数据库选用方案推荐:
- 当考试用户不是太多,例如总量小于1000人时,推荐使用Derby,由于本系统使用了Derby的嵌入模式,对数据库的读写属于进程内通信,不涉及数据库网络连接,速度极快(绿色免安装版本使用的即为Derby);
- 当考试人数多到一台服务器不能承受,并且需要WEB服务器和数据库分开部署时,推荐使用ORACLE;
- 如果考试系统中数据确实需要和其它php类小型系统配合使用,或者其它原因必须使用MySQL,请使用MySQL。
注:本文测试程序已经附带到了考试系统的tools目录下,文件名为:db_performance.jsp,各位用户可以直接输入网址 考试系统/tools/db_performance.jsp 自行测试。