dbmonster数据库测试工具使用笔记

dbmonster介绍

dbmonster的相关资料都在安装包下的docs文件夹里

什么是DBMonster?

DBMonster是一个工具,可以帮助数据库应用程序开发人员调整数据库的结构,调整索引的使用,并在繁重的数据库负载下测试应用程序性能。
DBMonster根据需要生成随机数据,并将其放入SQL数据库。
它提供了一个非常可插拔的界面,易于使用。

它是如何工作的?

DBMonster的执行思路非常简单。它是面向表的怪物,这意味着它逐个表去生成数据。
DBMonster可以为以下类型生成数据:

SQL char,varchar和text的字符串,
SQL int4和int8的整数,
SQL任意数字类型和任意精度的数字,
booleans for SQL boolean,
SQL日期时间和时间戳的时间戳。
DBMonster从XML模式文件中读取表定义,并从第一个表启动生成过程。如果表包含使用(s)外键约束的列,则DBMosnter将首先生成所需的表。表顺序是即时计算的。

数据生成过程基于Generators概念。每列都有自己的值生成器,它知道如何生成随机值。有几个预定义的生成器(如StringGenerator,NumberGenerator,BooleanGenerator等),但您可以编写更适合您需要的软件(如果需要)。发电机接口很简单,但非常灵活。

元组以强力方式插入数据库。当列在非键列上具有唯一索引时,它很重要。如果一行无法插入数据库,DBMonster会尝试查找其他值。可以通过<dbmonster.max-tries>配置变量配置最大尝试次数。默认值为1000。

1.安装jdk

自行百度即可(注意:环境变量的配置,JAVA_HOME,CLASSPATH,PATH)

2.下载安装dbmonster

>>>官网下载地址
打开后点开dbmonster-core,点选v.1.0.3,然后点选dbmonster-core-1.0.3.tar.gz,即可下载。
下载解压后放到某个地方就行(我放到了系统盘的Program Files文件下)
刚下载的文件包含如图所示文件
在这里插入图片描述

3.配置相应文件及环境

3.1创建dbmonster.properties配置文件

文件内容为

#旧版jdbc连接:com.mysql.jdbc.Driver
dbmonster.jdbc.driver=com.mysql.cj.jdbc.Driver

dbmonster.jdbc.url=jdbc:mysql://127.0.0.1:3306/test?charSet=utf-8&serverTimezone=GMT%2B8&useSSL=false
dbmonster.jdbc.username=root
dbmonster.jdbc.password=123456
dbmonster.jdbc.transaction.size=50

# for Oracle and other schema enabled databases
dbmonster.jdbc.schema=test

# maximal number of (re)tries
dbmonster.max-tries=1000

# default rows number for SchemaGrabber
dbmonster.rows=1000

# progres monitor class
dbmonster.progress.monitor=pl.kernelpanic.dbmonster.ProgressMonitorAdapter

3.2添加classpath

将dbmonster安装路径添加到classpath环境变量中
(正因为这个路径中的空格导致出现错误,纠结半天)
C:\Program Files\dbmonster-core-1.0.3

3.3将msql.jdbc复制添加到dbmonster的lib文件夹下

如图所示
在这里插入图片描述

3.4修改dbmonster.bat文件内容

3.4.1增加了pause

可以查看文件执行情况(当然如果用cmd命令执行dbmonster.bat文件则无所谓了)

3.4.2增加xml和dbmonster.properties执行路径

提示:如果执行文件用的是下面这个命令无需这步操作
dbmonster.bat -c dbmonster.properties -s dbmonster-schema.xml

如果想直接用cmd执行dbmonster.bat则需要在dbmonster.bat文件上添加
-s .\*.xml -c .\dbmonster.properties

修改后的文件内容

rem Batch file to run dbmonster under Windows
rem Contributed by Peter De Bruycker

@echo off

cd ..

rem Add all jars....
for %%i in (".\lib\*.jar") do call ".\bin\cpappend.bat" %%i
for %%i in (".\*.jar") do call ".\bin\cpappend.bat" %%i
call ".\bin\cpappend.bat" .\log4j.properties

java -classpath "%CLASSPATH%" pl.kernelpanic.dbmonster.Launcher %* -s .\*.xml -c .\dbmonster.properties

cd bin
pause

3.5配置xml文件

指定需要添加数据的数据库和表,以及表字段。提示:不要漏掉指定外键和主键。
配置好后的xml文件内容如下

<?xml version="1.0"?>
<!DOCTYPE dbmonster-schema PUBLIC "-//kernelpanic.pl//DBMonster Database Schema DTD 1.1//EN" "http://dbmonster.kernelpanic.pl/dtd/dbmonster-schema-1.1.dtd">
<dbmonster-schema>
  <name>test</name>
  <table name="student" rows="50"><!-- 设置产生的数据行数-->
	<column name="name" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="15"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
    <column name="class" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="20"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
	<column name="teacherId" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.ForeignKeyGenerator"><!-- 设置外键-->
        <property name="tableName" value="teacher"/><!-- 设置外键所在表-->
        <property name="columnName" value="id"/><!-- 设置外键列名称-->
      </generator>
    </column>
  </table>
  <table name="teacher" rows="10"><!-- 设置产生的数据行数-->
	<key databaseDefault="false"> <!-- 设置主键-->
      <generator type="pl.kernelpanic.dbmonster.generator.MaxKeyGenerator">
        <property name="columnName" value="id"/> <!-- 设置主键列名-->
      </generator>
    </key>
    <column name="name" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="15"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
    <column name="class" databaseDefault="false">
      <generator type="pl.kernelpanic.dbmonster.generator.StringGenerator">
        <property name="allowSpaces" value="true"/>
        <property name="excludeChars" value=""/>
        <property name="maxLength" value="20"/>
        <property name="minLength" value="5"/>
        <property name="nulls" value="0"/>
      </generator>
    </column>
  </table>
</dbmonster-schema>

4.运行dbmonster

先将dbmonster-core-1.0.3.jar所在的路径配置到classpath环境变量中;

方法一 运行bat文件

运行dbmonster-core-1.0.3\bin\dbmonster.bat(我的是win10系统)

方法二 cmd命令执行

cmd命令进入bin所在文件夹下,然后执行运行代码

执行命令的不同,意味着不同的配置方法,上面已有介绍

cd C:\Program Files\dbmonster-core-1.0.3\bin
dbmonster.bat -c dbmonster.proprities -s dbmonster-schema.xml
或者是
dbmonster.bat

说明:
DBMonster 运行时的主要参数是-c和-s,分别指明配置文件和schema文件的位置。
缺省的配置文件位于DBMonster的安装目录下,名称是 dbmonster.properties(此文件需手动新建),另外需将examples目录中dbmonster-schema.xml文件拷贝到DBMonster的安装目录下。

运行成功

在这里插入图片描述

出现的错误汇总

记录曾经走过的坑坑洼洼,手动哭脸。。。。

1主类加载错误

原因

classpath配置的路径中包含空格字符

方案

在bin下的dbmonster.bat文件中的classpath添加引号,如下
java -classpath "%CLASSPATH%" pl.kernelpanic.dbmonster.Launcher %*

2jdbc老版警示(不算是错误)

jdbc的书写被告知老了

方案

#旧版jdbc连接:com.mysql.jdbc.Driver
dbmonster.jdbc.driver=com.mysql.cj.jdbc.Driver

3时区错误


dbmonster.jdbc.url=jdbc:mysql://127.0.0.1:3306/test?charSet=utf-8
后面添加时区设置代码
&serverTimezone=GMT%2B8&useSSL=false

猜你喜欢

转载自blog.csdn.net/wuhuideluori/article/details/85478605