[Design of Messaging on JBoss (Messaging/JBoss)] - Re: performance test framework
by timfox
"ataylor" wrote : The performance tests should cover the following scenarios.
|
| P2P
|
| non persistent with no selectors
| persistent with no selectors
| non persistent with selectors
| persistent with selectors
|
| Pub/Sub
|
| non persistent no selectors
| dups_ok persistent no selectors
| auto_ack persistent no selectors
| durable persistent selectors
|
| we should be able to configure multiple clients and/or servers. Each client should have n connections which create n sessions which create n producers and/or consumers and send n messages of size n, this should of course be completely configurable. The client will keep its own statistics and we will have a central coordinator that will coordinate the work of each client and collect each clients statistics.
|
| How will we run the tests,
|
| we could use the DTF, however i'm not sure whether its an overhead we dont need. The DTF needs maintaining and since we dont have dedicated machines we would have to configure/start/stop the dtf nodes, coordinator and manager every time we ran them. This being the case we could just write our own coordinator that does what we need and start each client manually. the coordinator would listen for clients connecting and instruct them what scenarios to run. We could maybe use jgroups for this. This would also mean that its easy to run standalone on any machine without needing DTF knowledge.
|
| I'm looking to make a start on this next week hopefully so comments welcome.
|
If DTF is going to help us here, it's worth looking at the JBM performance framework - it does pretty much all the things mentioned in your post:
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossJMSNewPerformanceBenchmark
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4104270#4104270
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4104270
18 years, 4 months
[Design of Messaging on JBoss (Messaging/JBoss)] - Re: JBM 2 and test framework
by timfox
"ataylor" wrote : The test framework needs re-writing for JBM2. The current is heavily reliant on using an mbean server and our current mbeans, obviously all this is changing and we wont need the current test service container.
|
Yes, we should replace it with one based on the MC.
We need to replace ServiceContainer with an MC based implementation. This will actually be much cleaner since we'll basically be running exactly what's running in the app server (minus the app server services we don't use)/
anonymous wrote :
| Currently we start the server and only stop and restart it when the configuration changes, this means that the tests do not run in isolation. This is obviously because it takes too long to restart it every time, the tests would take for ever to complete
|
Yes that was why it was done. :)
anonymous wrote :
| Since we'll be able to bootstrap the server standalone the start up time will be much quicker, maybe we need to review how we run our test suite.
|
Possibly. Originally our test suite used to run the way you suggest, and I changed it to re-use the same server to speed things up as you guessed. The interesting thing is that in the process of switching of changing it I actually caught several bugs that we hadn't noticed before - mainly bugs due to leaving things around in a bad state - stuff that we only noticed when we re-used the server. Starting and stopping each time we wouldn't have seen those bugs. So there's some value IMHO in not starting and stopping each time - each test run should 100% clean itself so there's no need to stop and start?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4104268#4104268
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4104268
18 years, 4 months
[Design of JBoss jBPM] - [sim] problems with hibernate queries and dates
by camunda
Hi.
I stuck in two problems with hibernate queries today, I hope somebody has an answer to them!
I want to get the average (and standard derivation) of time between two process start events. For this I want to query the ProcessInstanceCreateLog.
First problem: I need to calculate the time in between. The "clean" way would be like this I think:
| select
| (select min(pl2.date) - pl.date
| from org.jbpm.graph.log.ProcessInstanceCreateLog pl2
| where pl2.date > pl.date)
| from org.jbpm.graph.log.ProcessInstanceCreateLog pl
| where pl.token.processInstance.processDefinition = :processDefinition
| and exists (select pl2.date
| from org.jbpm.graph.log.ProcessInstanceCreateLog pl2
| where pl2.date > pl.date)
|
Big problem here: How to make the date difference calculation db independant?
1.) The way with "-" seems not to work correct with mySQL in all cases. I got some wrong figures:
| 2007-11-13 17:21:00.0
| - 2007-11-13 17:20:59.0
| = 41
|
2.) TIMESTAMPDIFFERENCE(SECOND, time1, time2) results in a hibernate exception (even if it should be supported):
| Exception in thread "main" java.lang.NullPointerException
| at org.hibernate.dialect.Dialect$2.getReturnType(Dialect.java:85)
| at org.hibernate.hql.ast.util.SessionFactoryHelper.findFunctionReturnType(SessionFactoryHelper.java:382)
| at org.hibernate.hql.ast.tree.AggregateNode.getDataType(AggregateNode.java:21)
| at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:143)
| at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705)
| at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
| at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
| at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
| at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
| at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
|
3.) TIMEDIFF(time1, time2) results in a SQL exception when using MySQL:
java.sql.SQLException: Value '00:00:00 can not be represented as java.sql.Time
So how to do that in a database independant way?
The second problem is, that the figures I need are not calculated from the database. This can not be nested in the above statement (or I haven't figured it out how). So I thought about the following workaround, should work in real life, because process instance id's are ordered in order of creation date:
| select
| count(pl),
| avg(pl2.date - pl.date),
| min(pl2.date - pl.date),
| max(pl2.date - pl.date),
| stddev(pl2.date - pl.date)
| from org.jbpm.graph.log.ProcessInstanceCreateLog pl,
| org.jbpm.graph.log.ProcessInstanceCreateLog pl2
| where pl.token.processInstance.processDefinition = :processDefinition
| and pl2.token.processInstance.id = pl.token.processInstance.id + 1
| group by (pl.token.processInstance.processDefinition)
|
Does anybody sees upcoming problems with that query?
The last version is what I use for the moment, but it is still not really correct.
Any ideas to the date stuff?
Or do I have to go back to native queries? This would be a pain in the ass, because I have to provide SQL's for a bunch of databases... Hibernate seems to be a bit week at the point of date calculation... By the way, I found a Hibernate JIRA issue for it, but it seems not to be assigned :-(
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2434
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4104230#4104230
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4104230
18 years, 4 months
[Design of JBoss Web Services] - Re: [Productivity] Level 1 - Start from scratch
by max.andersen@jboss.com
anonymous wrote :
| 1) The only WS tooling we have right now in RHDS is what comes with Eclipse WTP (and that is mainly axis biased)
|
| 2) We *want* to get SoapUI back into the JBossTools build again - once when we get over the release hurdle of JBossTools/RHDS GA this will be a priority
OK, these are 2 important things, thanks for stating them clearly.
In particular I also think it will be really good to have the SoapUI plugin back in the build again; I expect this integration to give JBossTools the same functions RHDS has from the WTP Eclipse, but based on JBossWS instead of Axis.
SoapUI and the Eclipse WTP integration are not integrated afaik. They have different purposes in life.
The bad news is that soapui is not going to continue supporting the jbossws specific parts of their tooling anymore - This might not be a big issue if JBossWS are going to change some of their tool/stack....is there any status/updates on that ? (I haven't followed it closely - I just heard it was on the table of upcoming changes)
anonymous wrote :
| 3) Be aware that just because something is in JBoss Tools does not mean it will show up in RHDS
Does this simply means that things from JBossTools are not automatically coded into RHDS too, but they require additional work and this depends on strategic decisions about RHDS features, or I am missing something else?
RHDS goal is to match what is in the JBoss EAP platform and related products. That can result in things being excluded; also if something in jbosstools is deemed not mature enough for full support we will exclude it or simply disable it by default in RHDS and giving the option for theuser to enable it (with the notice it is not supported)
But the general rule is that JBossTools has all the new things and RHDS will follow that as closely as possible.
anonymous wrote :
| 5) Providing Ant or Maven kind of samples is good - neither of these exclude good JBoss Tools support as long as they are done correctly
|
| 6) We/you shouldn't just go out and create an isolated WS-way of creating sample/projects - look into how the eclipse best support it...just using Eclipse as an glorified text editor to calling ant isn't really adding value ;)
I agree with you, Ant based samples and JBoss Tools / Eclipse support do not exclude each other and I believe providing both is the right things to do. In particular on point 6, I think I get the overall idea that is, of course, let's leverage what Eclipse is beyond a powerful text editor to provide ws added value. May be we might go a bit further into details on this in future..
yup.
anonymous wrote : 7) We need someone who knows about WS to build proper WS support into tooling....preferably someone who likes to do both WS and write plugins ;)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4104228#4104228
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4104228
18 years, 4 months