Hi Emmanuel,
You were right regarding the connection type. I put the client on
one of the DB nodes and connecting to the DB on the same box as the client,
the 1,000 inserts took 22 seconds. When I connect to the DB on the 'other'
machine, the 1,000 inserts take about 1 second (same as on the non-DB
machine I was testing on). To me that proves that pipes are playing role.
However, Sequoia is still slow.
What I did was instead of an A->A, B->B configuration I setup A->B,
B->A setup, basically each controller works with the other machines'
database. While I was hoping this would resolve the pipe issue, and maybe
it did, the performance is still the same, about 125 seconds.
By the way, I removed the sql profiling from both backend configs.
Ideas?
Thanks,
Randall
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Randall
Fidler
Sent: Wednesday, May 02, 2007 3:44 PM
To: [email protected]
Subject: RE: [Sequoia] Performance
Hi Emmanuel,
I'll try the local execution of the client using native MySQL
driver. I'll remove the SQL profiling and let you know how it does. Also,
I'm using the latest version of the driver, v5.
Thanks,
Randall
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Emmanuel
Cecchet
Sent: Wednesday, May 02, 2007 2:37 PM
To: Sequoia general mailing list
Subject: Re: [Sequoia] Performance
Hi Randall,
> Config files are attached. The client is on another machine (same
> LAN) but could the be the problem considering the same client using
> direct MySQL connection can do the same work in about 4 seconds? Same
> exact client, using Sequoia driver it takes over 100 seconds, using
> native MySQL driver it takes 4. So, while it might speed things up to
> put the client on the same machine as the controller it's not going to
> close the 100 to 4 gap I'm seeing now, right?
>
Actually, I did not want to run the client on the same node as the
controller to speedup query execution, but MySQL usually goes through pipes
rather than sockets when the client and server are collocated on the same
server. According to the operating system, local communications (especially
through pipes) can have lower performance (or at least higher latencies)
than remote communications.
As in your case the controller is having local communication with the
database, I would like to have an apples to apples comparison by running the
client also locally to the database to have the same behavior in the MySQL
JDBC driver.
> <Monitoring>
> <SQLMonitoring defaultMonitoring="off">
> <SQLMonitoringRule queryPattern="^select" caseSensitive="false"
applyToSkeleton ="false" monitoring="on"/>
> </SQLMonitoring>
> </Monitoring>
>
Unless you really need SQL query profiling, you should remove that element
altogether to get rid of that overhead.
Otherwise your settings look good. I guess that you did not alter your
config/sequencer.xml JGroups configuration file.
Which version of Connector/J are you using?
Thanks for your feedback,
Emmanuel
--
Emmanuel Cecchet
Chief Scientific Officer, Continuent
Blog: http://emanux.blogspot.com/
Open source: http://www.continuent.org
Corporate: http://www.continuent.com
Skype: emmanuel_cecchet
Cell: +33 687 342 685
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia
BEGIN:VCARD VERSION:2.1 N:Fidler;Randall FN:Randall Fidler EMAIL;PREF;INTERNET:[EMAIL PROTECTED] REV:20050926T075331Z END:VCARD
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Sequoia mailing list [email protected] https://forge.continuent.org/mailman/listinfo/sequoia
