dbmonster、jmeter--数据库压力测试工具

    最近,公司的项目要同时支持三种数据库:mysql、神通、达梦。因此需要对三种数据库的性能进行比对。
    1>在进行数据库写压力测试时,开源工具dbmonster,个人感觉配置比较简单,用起来也比较方便、灵活。不过网上找的配置教程,一般在最后一步,执行:dbmonster.bat -c dbmonster.properties -s dbmonster-schema.xml, 总是报错,提示找不到Main类。
    后来打开dbmonster.bat发现,在执行以下命令时出错:
    java -classpath %CLASSPATH% pl.kernelpanic.dbmonster.Launcher %*
    因为我在系统环境变量中设置的CLASSPATH是带空格的(如"Program File"),这样会导致%CLASSPATH%解析错误,需要在%CLASSPATH%加双引号,如下:
    java -classpath "%CLASSPATH%" pl.kernelpanic.dbmonster.Launcher %*
    再次运行dbmonster.bat -c dbmonster.properties -s dbmonster-schema.xml就不会报错了,可以正常的写入数据。
    2>还有,在执行时,经常提醒数据库连接的用户不存在,后来发现,是dbmoster.properties里面的:
    dbmonster.jdbc.username=admin
     "admin"后面多了一个空格,看来dbmonster进行配置文件读取时,没有进行空格的处理,所以导致用户名不存在,将空格去除后,可以正常连接了。
    3>网上的教程,都说dbmonster-core-1.0.3版本,含有BinaryGenerator,这个用来往数据库中写入Blob的类,但是实际的dbmonster-core-1.0.3.jar包中,不含有这个类,因此无法往数据库中写入Blob数据。需要从网上下一个dbmonster-core-1.0.4.jar的jar包,和dbmonster-core-1.0.3.jar放在同一级目录下,即可解决Blob的读写问题。(dbmonster-core-1.0.4.jar包见附件)
    4>dbmonster主要用来对数据库进行压力写的测试,查看java控制台,可以看到,dbmonster启动了10个左右的线程,去并行访问数据库进行写操作。
    5>如果要对数据库进行高并发读测试,可以采用jmeter,配置,使用也比较简单,网上很多教程。

猜你喜欢

转载自zhouyangang2008201410260331.iteye.com/blog/2154916