Skip to content

rex-soft/rexdb-tester

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


编译好的性能测试程序下载:rexdb-tester-1.0.4.zip | rexdb-tester-1.0.4.tar.gz


目录


用户手册 - ORM框架性能测试程序

简介

本程序用于测试各ORM框架的运行性能,也可以用于开发/生产环境数据库性能评估。参与测试的框架包括:

  • Rexdb
  • Hibernate
  • Mybatis
  • Spring JDBC
  • JDBC接口直接调用

测试项目有:

  • 写入性能
  • 批处理性能
  • 查询性能

程序已经集成了各主流数据库的驱动,在修改数据库连接配置后,可以直接使用。已经集成的驱动有:

  • oracle
  • mysql
  • SQL Server
  • DB2
  • postgresql
  • derby
  • h2
  • hsqldb
  • 金仓数据库
  • 神通数据库
  • 达梦数据库

各框架均使用了本程序发布时的最新正式版本,均使用了Apache dbcp连接池。程序运行结束后,将以文本形式在控制台展现各测试项目的“每秒操作次数”。在作者的台式机系统中的某次测试结果请参考:http://db.rex-soft.org/performance.php

如何使用

本程序已经集成了大部分数据库驱动和运行所需的Jar包,修改配置后,直接运行启动脚本文件即可。使用步骤如下:

  1. 确保系统已经安装了JDK 6.0及以上版本
  2. 修改conf/conn.properties,启用相应的数据库连接
  3. 运行bin/run.bat(Windows系统),或者bin/run.sh(Linux系统),耐心等待执行完成
run.bat #Windows
./run.sh #Linux

优化设置

在执行测试时,程序会反复执行重复同一操作,直到运行完毕后计算平均耗时。理论上,重复执行的次数越多,结果越准确,但耗时也越长。在run.bat/run.sh脚本中,实际执行了如下命令:

java -classpath ../conf -Djava.ext.dirs=../lib org.rex.db.test.RunAllTests speed=10 loop=30

您可以自行编辑该文件,修改以下的两项参数,以获取速度和误差之间的平衡:

  • speed:执行速度,默认是10。值越大,每次测试中使用的数据量越小,误差越大
  • loop:循环次数,默认是30。值越大,每个测试项目的循环次数越多,误差越小

测试项目

本程序分别测试了各框架如下操作的性能:

  • 写入性能
  • 批处理性能
  • 查询性能

在每项测试执行前,为防止各框架首次运行时的初始化操作影响测试结果,因此程序会首先运行若干次测试项目,不计入测试耗时。

在执行测试时,同一测试项目可能会应用不同的设置,并多次运行。例如,在测试写入性能时,程序分别测试了Java对象和org.rex.db.Ps对象做为参数时的性能;测试查询性能时,又分别测试了查询Java对象和查询Map的性能,查询Java对象时还分别测试了启用和禁用动态字节码时的性能。

测试流程

本程序的测试流程如下:

  1. 连接数据库,创建测试需要的表(部分数据库还会创建存储过程)
  2. 测试Rexdb的各接口是否可用(部分数据库会测试调用接口)
  3. 测试各框架是否可用
  4. 执行性能测试
  5. 输出结果

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages