上次用Coherence实现缓存数据同步的transport manager之后,对它进行了压力测试并和Tibco EMS JMS和 OracleAS JMS(内存)进行了性能对比。
测试需求
解决方案
运行测试之前,根据不同的情况,需要修改一下配置文件, 需要配置文件主要是方便在各种同步方案之间切换, 也方便我们更换不同的测试环境, J2EE container和 Oracle DB:tts.properties
#one of jms, rmi,oasjms, coherence or set it blank
toplink.cache.type = jms
#the name of toplink command channel
toplin.command.channel = Toplink Coherence
#the config is used for stress test
#not use datasource
database.driver=oracle.jdbc.OracleDriver
database.url=jdbc:oracle:thin:@luga:1521:lugadb
database.username=gavin
database.password=gavin
#using datasource
database.dataSource =
#thread number
#default 30
read.thread.number = 20
#default 10
update.thread.number = 10
#default 10
create.thread.number = 10
#time unit is minute default 30
test.run.duration = 360
#url
test.server.url = http\://localhost\:7778
toplink.cache.type可以为jms, oasjms, rmi, coherence或者不填。
test.run.duration:: 执行时间单位分钟
datasource:配了datasource就会首先使用datasource
实现技术;
1.服务器端(Oracle Application Server):servlet接受请求并对employee做相应处理,计算测试结果
2.客户端(Eclipse):commons-httpclient多线程发送请求,记录测试结果
测试结果:
三者都成功实现了数据在多个jvm之间的及时同步, 性能上比较
Oracle AS JMS (内存)> EMS JMS>Oralce Coherence
如何实现toplink 自定义的transport manager:Oracle Coherence实现toplink会话缓存的数据同步