Hello, I tried and put the h2  profiler in my code here is what i got;

Profiler: top 3 stack trace(s) of 11023 ms [build-168]:
1039/4515 (23%):
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:355)
at org.h2.store.fs.FileDisk.read(FilePathDisk.java:424)
at org.h2.store.fs.FileUtils.readFully(FileUtils.java:357)
at org.h2.store.FileStore.readFully(FileStore.java:276)
at org.h2.store.PageStore.readPage(PageStore.java:1285)
at org.h2.store.PageStore.getPage(PageStore.java:735)
at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:226)
at org.h2.index.PageDataNode.getNextPage(PageDataNode.java:226)
at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:392)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:90)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:49)
at org.h2.index.IndexCursor.next(IndexCursor.java:238)
at org.h2.table.TableFilter.next(TableFilter.java:353)
at org.h2.command.dml.Select.queryGroup(Select.java:311)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:613)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
at 
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:109)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:931)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:607)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at 
org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
at 
org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:646)
at 
org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2611)
625/4515 (13%):
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:355)
at org.h2.store.fs.FileDisk.read(FilePathDisk.java:424)
at org.h2.store.fs.FileUtils.readFully(FileUtils.java:357)
at org.h2.store.FileStore.readFully(FileStore.java:276)
at org.h2.result.ResultDiskBuffer.readRow(ResultDiskBuffer.java:194)
at org.h2.result.ResultDiskBuffer.nextUnsorted(ResultDiskBuffer.java:216)
at org.h2.result.ResultDiskBuffer.next(ResultDiskBuffer.java:209)
at org.h2.result.LocalResult.next(LocalResult.java:229)
at org.h2.jdbc.JdbcResultSet.nextRow(JdbcResultSet.java:3002)
at org.h2.jdbc.JdbcResultSet.next(JdbcResultSet.java:124)
at org.h2.fulltext.FullText.init(FullText.java:142)
at org.h2.fulltext.FullText$FullTextTrigger.init(FullText.java:845)
at org.h2.schema.TriggerObject.load(TriggerObject.java:71)
at org.h2.schema.TriggerObject.setTriggerClassName(TriggerObject.java:91)
at org.h2.command.ddl.CreateTrigger.update(CreateTrigger.java:101)
at org.h2.engine.MetaRecord.execute(MetaRecord.java:58)
at org.h2.engine.Database.open(Database.java:632)
at org.h2.engine.Database.openDatabase(Database.java:222)
at org.h2.engine.Database.<init>(Database.java:217)
at org.h2.engine.Engine.openSession(Engine.java:56)
at org.h2.engine.Engine.openSession(Engine.java:159)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:138)
at org.h2.engine.Engine.createSession(Engine.java:121)
at org.h2.engine.Engine.createSession(Engine.java:28)
at 
org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:305)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:190)
at 
org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:98)
429/4515 (9%):
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:355)
at org.h2.store.fs.FileDisk.read(FilePathDisk.java:424)
at org.h2.store.fs.FileUtils.readFully(FileUtils.java:357)
at org.h2.store.FileStore.readFully(FileStore.java:276)
at org.h2.store.PageStore.readPage(PageStore.java:1285)
at org.h2.store.PageStore.getPage(PageStore.java:735)
at org.h2.index.PageDataIndex.getPageOverflow(PageDataIndex.java:211)
at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:345)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:97)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:49)
at org.h2.index.IndexCursor.next(IndexCursor.java:238)
at org.h2.table.TableFilter.next(TableFilter.java:353)
at org.h2.command.dml.Select.queryGroup(Select.java:311)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:613)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
at 
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:109)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:931)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:607)
at 
org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535)
at 
org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717)
at 
org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:566)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:264)
at 
org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:646)
at 
org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2611)
at 
org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllReportQueryRows(ExpressionQueryMechanism.java:2554)
packages:
66%: org.h2.store.fs
6%: org.h2.store
4%: org.eclipse.persistence.internal.security


BTW. I got  5G of h2 db file on my application and took me 10-12 secs to be 
able to check/connect for the db

Regards,
Ross

On Saturday, August 11, 2012 2:42:34 AM UTC+8, Thomas Mueller wrote:
>
> Hi,
>
> Startup is normally very fast. It it takes 5-6 seconds, it sounds like 
> something is wrong. Could you get some profiling data, as described in 
> http://h2database.com/html/performance.html#built_in_profiler  ?
>
> Regards,
> Thomas
>
>
> On Wed, Aug 8, 2012 at 11:35 AM, Harish Alwala 
> <[email protected]<javascript:>
> > wrote:
>
>> Hi All
>> I have a problem establishing connection to H2 database when the size of 
>> the db file is over 100 mb.
>> I have written a Swing Application and I am using H2 database in embeded 
>> mode. Application works(connection establishment & query process) fine when 
>> the size of the db file is around 10-50 mb. When the file size increases to 
>> 100 mb the application slows down.
>> Observation:
>> 1. connection 
>> =java.sql.DriverManager.getConnection(getConnectionUrl(),username, 
>> password);
>> Above statement takes 5-6 seconds to get the connection.
>> 2. CPU shoots up to 60% while fetching the connection.
>> 3. working with database my application always shows around 500mb in 
>> jconsole.
>>
>> What I have done:
>> I have replaced above statement with 
>> connectionPool = JdbcConnectionPool.create(getConnectionUrl(), username, 
>> password);
>> connectionPool.setMaxConnections(200);
>> Still I dont see any difference.
>>
>> I have tried same replacing H2 Database with SQLServer Database.
>> Very interestingly application takes hardly any memory (max 100mb) and 
>> cpu shows 30 % while continues db operation.
>>
>> Regarding memory I feel since I am embeding the H2 database with in my 
>> application, the memory used by H2 db + CPU used by H2 db is also shown in 
>> my application .
>>
>> Please let me know if there is any work around.
>>
>>
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "H2 Database" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/h2-database/-/dsjzxuG6gvoJ.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> [email protected] <javascript:>.
>> For more options, visit this group at 
>> http://groups.google.com/group/h2-database?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/h2-database/-/HUT8MOew2uoJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to