Hi Noel,
- Are you calling commit() after each batch?
Yeah i commit after every 100 million. The inserts take the same amount of
time until the table has roughly around 800 million.
- What does the memory usage look like when it slows down?
The job uses 1.4% of the 8gb. So its definitely not running out of memory
- If the memory usage is fine, try hooking up a profiler likes Netbeans
Profiler and see what is taking the time
I tried stack tracing to figure out which step it is on, and found the job
to be doing the below process for a long time.
"main" prio=10 tid=0x000000000126a000 nid=0x4cdc runnable
[0x00007f664828b000]
java.lang.Thread.State: RUNNABLE
at org.h2.util.CacheLRU.removeOld(CacheLRU.java:184)
at org.h2.util.CacheLRU.removeOldIfRequired(CacheLRU.java:136)
at org.h2.util.CacheLRU.put(CacheLRU.java:112)
at org.h2.store.PageStore.getPage(PageStore.java:795)
- locked <0x0000000580009338> (a org.h2.store.PageStore)
at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:222)
at org.h2.index.PageDataNode.addRowTry(PageDataNode.java:128)
at org.h2.index.PageDataIndex.addTry(PageDataIndex.java:163)
at org.h2.index.PageDataIndex.add(PageDataIndex.java:128)
at org.h2.table.RegularTable.addRow(RegularTable.java:127)
at org.h2.command.dml.Insert.addRow(Insert.java:162)
at org.h2.command.dml.Select.queryFlat(Select.java:523)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:617)
at org.h2.command.dml.Query.query(Query.java:290)
at org.h2.command.dml.Insert.insertRows(Insert.java:132)
at org.h2.command.dml.Insert.update(Insert.java:84)
at org.h2.command.CommandContainer.update(CommandContainer.java:71)
at org.h2.command.Command.executeUpdate(Command.java:212)
- locked <0x00000005800085f8> (a org.h2.engine.Database)
at
org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:125)
- locked <0x0000000580064d48> (a org.h2.engine.Session)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:110)
Thank you.
regards
Harish
On Mon, Mar 26, 2012 at 4:06 AM, Noel Grandin <[email protected]> wrote:
> - Are you calling commit() after each batch?
> - What does the memory usage look like when it slows down?
> - If the memory usage is running high, trying using jdump to get a heap
> dump, and then use Eclipse MAT to analyze the dump
> - If the memory usage is fine, try hooking up a profiler likes Netbeans
> Profiler and see what is taking the time
>
>
> On 2012-03-25 07:26, Harish Mahadevan wrote:
>
>> Hi All,
>>
>> I am linking a table of 5 million records from one h2 database to
>> another h2 database and am trying to copy the 5 million records 300
>> times. The first 175 times the copy occurs at a constant time interval
>> of approx 25 times every 40 minutes, but after the new table has
>> approximately a billion records, the inserts seems to be slowing down,
>> it almost takes about 24 hours to copy the same 5 million another 25
>> times. I am using a INSERT INTO with a SELECT sql, thats the reason
>> behind the linking of the table. There is literally no other activity
>> on the machine i am using to run this copy. I have dedicated around 8
>> gigs for this process. Any idea on why this behavior with h2
>> databases?
>>
>> regards
>> Harish
>>
>>
--
Harish Mahadevan
*Software Product Developer*
*
*
*Knome Inc.*
25 First Street, Suite 107
Cambridge, MA 02141
USA
[email protected]
Phone: 617.715.1000
www.knome.com
The Human Genome Interpretation Company
This e-mail is covered by the Electronic Communications Privacy Act, 18
U.S.C. ยงยง 2510-2521 and is legally privileged. This email contains
confidential information intended only for the person(s) to whom this
e-mail message is addressed. If you have received this e-mail message in
error, please notify the sender immediately by telephone at (617) 715-1000 or
by electronic mail ([email protected]) and destroy the original message
without making a copy. Thank you.
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
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.