hi,
we're using sequoia to develop a jboss based web application.
currently we're running some load tests and unfortunately experience
poor performance.
trying to narrow down the causes we ran JDBCBench
(http://developer.mimer.com/features/JDBCprogs/JDBCBench.java) against
our sequoia db.
these are our results so far:
1) postgresql without sequoia:
~500 tx/s
2) sequoia without Recovery Log, with Distribution
~100 tx/s
3) sequoia without distribution, with recovery log
~40 tx/s
4) sequoia with recovery log, with distribution
~5 tx/s
this was one controller with one postgresql node.
we plan to use two controllers each with one postgresql node.
as our database setup needs to be fault tolerant we planned to use setup
4. however the current performance results would rule out sequoia.
i've attached our current configuration. i'd appreciate any comments on
how to increase the performance.
Environment:
sequoia v. 2.10.10
java: jdk 1.5.0_15 (additional options: -Xmx512m -server)
OS: linux
DB: postgresql 8.2.6
controller.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE SEQUOIA-CONTROLLER PUBLIC "-//Continuent//DTD
SEQUOIA-CONTROLLER 2.10.10//EN"
"http://sequoia.continuent.org/dtds/sequoia-controller-2.10.10.dtd">
<SEQUOIA-CONTROLLER>
<Controller port="25322" ipAddress="a.b.c.d.">
<Report hideSensitiveData="true" generateOnShutdown="true"
generateOnFatal="true" enableFileLogging="true" />
<JmxSettings>
<RmiJmxAdaptor username="username" password="password"
port="50090" serverPort="50200"/>
</JmxSettings>
<VirtualDatabase configFile="mps-postgres-1.xml"
virtualDatabaseName="mpsPostgres"
autoEnableBackends="true" />
</Controller>
</SEQUOIA-CONTROLLER>
mps-postgres-1.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE SEQUOIA PUBLIC "-//Continuent//DTD SEQUOIA 2.10.10//EN"
"http://sequoia.continuent.org/dtds/sequoia-2.10.10.dtd">
<SEQUOIA>
<VirtualDatabase name="mpsPostgres">
<Distribution groupName="mpsGroup">
<MessageTimeouts />
</Distribution>
<!--
<Monitoring>
<SQLMonitoring defaultMonitoring="off">
<SQLMonitoringRule queryPattern="^select"
caseSensitive="false" applyToSkeleton="false" monitoring="on" />
</SQLMonitoring>
</Monitoring>
-->
<Backup>
<Backuper backuperName="Octopus"
className="org.continuent.sequoia.controller.backup.backupers.PostgreSQLBinaryBackuper"
options="authentication=true" />
</Backup>
<AuthenticationManager>
<Admin>
<User username="admin" password="password" />
</Admin>
<VirtualUsers>
<VirtualLogin vLogin="mps" vPassword="password" />
</VirtualUsers>
</AuthenticationManager>
<DatabaseBackend name="node1" driver="org.postgresql.Driver"
url="jdbc:postgresql://a.b.c.d:5432/mps"
connectionTestStatement="select now()">
<DatabaseSchema dynamicPrecision="table"
gatherSystemTables="true">
<DefaultStoredProcedureSemantic hasSelect="true"
hasInsert="true" hasUpdate="true" hasDelete="true"
hasDDL="false" hasTransaction="false"
isCausallyDependent="true" isCommutative="false" />
</DatabaseSchema>
<ConnectionManager vLogin="mps" >
<VariablePoolConnectionManager initPoolSize="10" minPoolSize="5"
maxPoolSize="100" idleTimeout="30" waitTimeout="10" />
</ConnectionManager>
</DatabaseBackend>
<RequestManager>
<RequestScheduler>
<RAIDb-1Scheduler level="passThrough" />
</RequestScheduler>
<RequestCache>
<MetadataCache />
<ParsingCache />
<!-- <ResultCache granularity="table"/> -->
</RequestCache>
<LoadBalancer>
<RAIDb-1>
<WaitForCompletion policy="first" />
<RAIDb-1-LeastPendingRequestsFirst />
</RAIDb-1>
</LoadBalancer>
<RecoveryLog driver="org.postgresql.Driver"
url="jdbc:postgresql://a.b.c.d:5432/cluster"
login="cluster" password="password" idleConnectionTimeout="60">
<RecoveryLogTable tableName="recovery"
logIdColumnType="BIGINT NOT NULL"
vloginColumnType="VARCHAR NOT NULL"
sqlColumnType="VARCHAR NOT NULL"
extraStatementDefinition=",PRIMARY KEY (log_id)" />
<CheckpointTable tableName="checkpoint"
checkpointNameColumnType="VARCHAR NOT NULL" />
<BackendTable tableName="backend"
databaseNameColumnType="VARCHAR NOT NULL"
backendNameColumnType="VARCHAR NOT NULL"
checkpointNameColumnType="VARCHAR NOT NULL" />
<DumpTable tableName="dump"
dumpNameColumnType="VARCHAR NOT NULL"
dumpDateColumnType="TIMESTAMP"
dumpPathColumnType="VARCHAR NOT NULL"
dumpFormatColumnType="VARCHAR NOT NULL"
checkpointNameColumnType="VARCHAR NOT NULL"
backendNameColumnType="VARCHAR NOT NULL"
tablesColumnType="VARCHAR NOT NULL" />
</RecoveryLog>
</RequestManager>
</VirtualDatabase>
</SEQUOIA>
_______________________________________________
Sequoia mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/sequoia