You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by "Lin.Zhang" <yg...@gmail.com> on 2008/10/10 02:45:25 UTC
ActiveMQ persistence extremely slow with JDBC
Hi, we got a problem when using journal configured with JDBC, here are some
details:
We configured the journal with an Oracle datasource, but it is *extremely*
slow when sending messages to ActiveMQ, about 1.5 minutes per message...,
and our config file looks like below:
<persistenceAdapter>
<journaledJDBC dataDirectory="${activemq.base}/data"
dataSource="#oracle-ds"/>
</persistenceAdapter>
...
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="url"
value="jdbc:oracle:thin:@10.10.10.13:1521:D15IDB01"/>
<property name="username" value="user"/>
<property name="password" value="pass"/>
<property name="maxActive" value="50"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
The interesting thing is that on some database, it is not slow. And if the
persistence is disabled, there is no performance problems. I'm really
confused and don't know whether it is an ActiveMQ problem or Oracle
configuration problem.
If anybody has this kind of problem before or has any clue about it, please
give me some help. Thanks a lot. I can provide more details if needed.
--
View this message in context: http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19910036.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: ActiveMQ persistence extremely slow with JDBC
Posted by gui pei <gu...@gmail.com>.
Hi,
How big is your message body? does it because big message body(Oracle save
big data is slow?).
On Sat, Oct 11, 2008 at 9:58 AM, Lin.Zhang <yg...@gmail.com> wrote:
>
> Since it's not so slow when persistence is disabled, I think the sending
> part
> is ok. For the later one, in my understanding, write the messages to the
> database shouldn't block the sending (right?). But the problem I met is
> that
> it will take 1 to 2 minutes for ActiveMQ to receive the next message.
>
>
>
> James.Strachan wrote:
> >
> > What is the slow part - sending the JMS message or waiting for the
> > message to arrive in the database? If its the latter thats because
> > messages are only written to the database after the journal is
> > checkpointed (every minute or so)
> >
> > 2008/10/10 Lin.Zhang <yg...@gmail.com>:
> >>
> >> Hi, we got a problem when using journal configured with JDBC, here are
> >> some
> >> details:
> >>
> >> We configured the journal with an Oracle datasource, but it is
> >> *extremely*
> >> slow when sending messages to ActiveMQ, about 1.5 minutes per
> message...,
> >> and our config file looks like below:
> >>
> >> <persistenceAdapter>
> >> <journaledJDBC dataDirectory="${activemq.base}/data"
> >> dataSource="#oracle-ds"/>
> >> </persistenceAdapter>
> >>
> >> ...
> >>
> >> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
> >> destroy-method="close">
> >> <property name="driverClassName"
> >> value="oracle.jdbc.driver.OracleDriver"/>
> >> <property name="url"
> >> value="jdbc:oracle:thin:@10.10.10.13:1521:D15IDB01"/>
> >> <property name="username" value="user"/>
> >> <property name="password" value="pass"/>
> >> <property name="maxActive" value="50"/>
> >> <property name="poolPreparedStatements" value="true"/>
> >> </bean>
> >>
> >> The interesting thing is that on some database, it is not slow. And if
> >> the
> >> persistence is disabled, there is no performance problems. I'm really
> >> confused and don't know whether it is an ActiveMQ problem or Oracle
> >> configuration problem.
> >>
> >> If anybody has this kind of problem before or has any clue about it,
> >> please
> >> give me some help. Thanks a lot. I can provide more details if needed.
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19910036.html
> >> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> >
> > --
> > James
> > -------
> > http://macstrac.blogspot.com/
> >
> > Open Source Integration
> > http://open.iona.com
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19928613.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
--
It's winter now, let's hibernate.
Re: ActiveMQ persistence extremely slow with JDBC
Posted by "Lin.Zhang" <yg...@gmail.com>.
Since it's not so slow when persistence is disabled, I think the sending part
is ok. For the later one, in my understanding, write the messages to the
database shouldn't block the sending (right?). But the problem I met is that
it will take 1 to 2 minutes for ActiveMQ to receive the next message.
James.Strachan wrote:
>
> What is the slow part - sending the JMS message or waiting for the
> message to arrive in the database? If its the latter thats because
> messages are only written to the database after the journal is
> checkpointed (every minute or so)
>
> 2008/10/10 Lin.Zhang <yg...@gmail.com>:
>>
>> Hi, we got a problem when using journal configured with JDBC, here are
>> some
>> details:
>>
>> We configured the journal with an Oracle datasource, but it is
>> *extremely*
>> slow when sending messages to ActiveMQ, about 1.5 minutes per message...,
>> and our config file looks like below:
>>
>> <persistenceAdapter>
>> <journaledJDBC dataDirectory="${activemq.base}/data"
>> dataSource="#oracle-ds"/>
>> </persistenceAdapter>
>>
>> ...
>>
>> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
>> destroy-method="close">
>> <property name="driverClassName"
>> value="oracle.jdbc.driver.OracleDriver"/>
>> <property name="url"
>> value="jdbc:oracle:thin:@10.10.10.13:1521:D15IDB01"/>
>> <property name="username" value="user"/>
>> <property name="password" value="pass"/>
>> <property name="maxActive" value="50"/>
>> <property name="poolPreparedStatements" value="true"/>
>> </bean>
>>
>> The interesting thing is that on some database, it is not slow. And if
>> the
>> persistence is disabled, there is no performance problems. I'm really
>> confused and don't know whether it is an ActiveMQ problem or Oracle
>> configuration problem.
>>
>> If anybody has this kind of problem before or has any clue about it,
>> please
>> give me some help. Thanks a lot. I can provide more details if needed.
>> --
>> View this message in context:
>> http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19910036.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> James
> -------
> http://macstrac.blogspot.com/
>
> Open Source Integration
> http://open.iona.com
>
>
--
View this message in context: http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19928613.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: ActiveMQ persistence extremely slow with JDBC
Posted by James Strachan <ja...@gmail.com>.
What is the slow part - sending the JMS message or waiting for the
message to arrive in the database? If its the latter thats because
messages are only written to the database after the journal is
checkpointed (every minute or so)
2008/10/10 Lin.Zhang <yg...@gmail.com>:
>
> Hi, we got a problem when using journal configured with JDBC, here are some
> details:
>
> We configured the journal with an Oracle datasource, but it is *extremely*
> slow when sending messages to ActiveMQ, about 1.5 minutes per message...,
> and our config file looks like below:
>
> <persistenceAdapter>
> <journaledJDBC dataDirectory="${activemq.base}/data"
> dataSource="#oracle-ds"/>
> </persistenceAdapter>
>
> ...
>
> <bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
> destroy-method="close">
> <property name="driverClassName"
> value="oracle.jdbc.driver.OracleDriver"/>
> <property name="url"
> value="jdbc:oracle:thin:@10.10.10.13:1521:D15IDB01"/>
> <property name="username" value="user"/>
> <property name="password" value="pass"/>
> <property name="maxActive" value="50"/>
> <property name="poolPreparedStatements" value="true"/>
> </bean>
>
> The interesting thing is that on some database, it is not slow. And if the
> persistence is disabled, there is no performance problems. I'm really
> confused and don't know whether it is an ActiveMQ problem or Oracle
> configuration problem.
>
> If anybody has this kind of problem before or has any clue about it, please
> give me some help. Thanks a lot. I can provide more details if needed.
> --
> View this message in context: http://www.nabble.com/ActiveMQ-persistence-extremely-slow-with-JDBC-tp19910036p19910036.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
--
James
-------
http://macstrac.blogspot.com/
Open Source Integration
http://open.iona.com