由于前一阶段,公司的数据库服务器总出现停止服务的状况!搞的公司一班同仁焦头烂额,大家分头对数据库应用展开优化。有人处理weblogic的datasource,有人优化oracle参数,本人感觉java应用程序通过jdbc频繁访问数据库可能会存在问题,就做了一下对比测试。
DBCP作为应用程序可以使用的datasource,应该是首选。
jmeter做测试,是免费,而且对java对象的测试还算方便。
废话少说,开始前期准备:
先去下个DBCP,还有几个例子,比较简单。准备使用那个manualpoolingdatasourceexample.java文件改一改。DBCP的zip文件中有api的文档,不明白的方法一查就知道什么意思了。需要common中的pooling,collections这两个包。
JDBC的例子就不用我写了吧。
下了个jmeter,看了看文档说明,发现用sampler测试java对象就只有几句话,要实现一个接口,提示说org.apache.jmeter.protocol.java.test.sleeptest 这个对象是个例子就没了。又看了看docs文件夹下有个extending文件夹,告诉怎么写sampler。晕,怎么实现接口,都不知道。悲愤交加阿,还浪费时间。
突然想起来开源软件嘛,去下了个源代码,看看。找到这个sleeptest文件,里面注释好全阿,只不过是英文,马马虎虎也看懂了。在runtest(javasamplercontext)方法中,
thread.sleep(sleep);这句上面有注释,把你的java对象要执行的方法把它替换掉就可以
result.setsucessful();这句应该是返回测试java对象是否成功的信息。
把这个文件拷贝到自己的测试工程中,改个名字,注意要引用apachejemter.jar,apachejmeter_core.jar,apachejmeter_java.jar.编译成功后,到生成class的文件夹下执行
jar cvf ***.jar *.* 把相关classes文件变成jar文件放到jmeter的lib/ext文件夹下,把测试工程用到的jar放到lib文件夹下。
然后运行jmeter.bat,到sampler----java request中看看发现自己的测试类已经出现在列表中了吧,终于可以测试了。
在jmeter的2.0.3中测试通过。
公司数据库服务器常停止服务,大家对数据库应用展开优化。作者认为Java应用程序通过JDBC频繁访问数据库可能有问题,进行对比测试。选用DBCP作为数据源,用JMeter测试,详细介绍了前期准备、JMeter测试Java对象的配置过程,最终在JMeter 2.0.3中测试通过。
4万+

被折叠的 条评论
为什么被折叠?



