You could try cluster mode.

Did you work out what the bottleneck is? If memory mode didn't make a difference I'd imagine it is CPU bound?

What kind of performance increase are you trying to get?

Ryan


On 31/01/2013 8:55 AM, Sri wrote:
Is there any way I can run multiple H2 instances on one machine and load balance them to see if it helps my concurrent issue?

-Sri

On Wednesday, January 30, 2013 1:11:27 PM UTC-8, Sri wrote:

    I had added all necessary indexes required for my queries and they
    perform very well.
    It's been performing very good with single/few user/thread and is
    getting degraded as I add more concurrent users/threads.

    I had also profiled usingbuilt-in profiler and queries were taking
    longer as I added more concurrent users/threads.

    -Sri

    On Wednesday, January 30, 2013 12:55:26 PM UTC-8, Thomas Mueller
    wrote:

        Hi,

        > I tied using in-memory db doesn't improve the performance at
        all.

        Did you read the performance docs yet -
        http://h2database.com/html/performance.html
        <http://h2database.com/html/performance.html> ? Specially the
        built-in profiler and indexes.

        > LOG=0, LOCK_MODE=0 and FILE_LOCK=NO has any effect on the
        performance?

        Not if indexes are missing, queries are slow and so on. LOG=0
        might double performance, but that's it. lock mode and file
        lock don't typically improve performance, they are just dangerous.

        Regards,
        Thomas



        On Wed, Jan 30, 2013 at 8:53 PM, Sri <[email protected]> wrote:

            I tied using in-memory db doesn't improve the performance
            at all. Both in-memory and server have similar turn around
            times.

            I was looking at some of the H2 documentation and came
            across below one. As I mentioned earlier DB is only for
            reads so by doing LOG=0, LOCK_MODE=0 and FILE_LOCK=NO has
            any effect on the performance?

            "Some features are known to be dangerous, *they are only
            supported for situations where performance is more
            important than reliability*. Those dangerous features are:

              * Disabling the transaction log or FileDescriptor.sync()
                using LOG=0 or LOG=1.
              * Using the transaction isolation level
                |READ_UNCOMMITTED| (|LOCK_MODE 0|) while at the same
                time using multiple connections.
              * Disabling database file protection using (setting
                |FILE_LOCK| to |NO| in the database URL).
              * Disabling referential integrity using |SET
                REFERENTIAL_INTEGRITY FALSE|."


            -Sri

            On Tuesday, November 13, 2012 7:32:35 PM UTC-8, Kartweel
            wrote:

                Other people might have some suggestions, but I guess
                if you try it on a solid state disk or just trial as
                an in memory database and see if it performs faster.

                Or you could also try it on a ram disk and see if it
                improves performance. That way you don't need to try
                any other hardware.

                At least then you'll know the disk was the bottleneck.

                Ryan

                On 14/11/2012 7:03 AM, Sri wrote:
                Sorry I was looking into some other things...now I
                got back to this..

                How do we determine if disk io is capped?

                I do see disk io is varying (up and down from 40kb-
                200kb and occasionally shoots up to 950kb) all the
                time when I observed windows resource monitor.

                -Sri

                On Friday, November 2, 2012 2:23:03 PM UTC-7,
                Kartweel wrote:

                    Hi,

                    Makes sense to me. If cpu isn't the issue (which
                    I doubt it would be in a database, but maybe the
                    encryption adds a lot of overhead?) then adding
                    more threads would increase the time
                    proportionally + synchronisation overhead. Also
                    there would be more work for the disk seeking
                    between all the different locations.

                    So are you saying that disk io is increasing with
                    each thread you add? or is it capped? both
                    bandwidth and iops ?

                    On 3/11/2012 4:44 AM, Sri wrote:
                    Disk IO looks good too...can't seem to find what
                    is the issue...

                    On Thursday, November 1, 2012 2:36:21 PM UTC-7,
                    Kartweel wrote:

                        How about disk io?, usually the disk is the
                        bottleneck.

                        On 2/11/2012 3:44 AM, Sri wrote:
                        > Hi,
                        >
                        > I am running H2 DB in server mode and
                        using it for read only. It's
                        > been performing very good with single
                        user/thread and the performance
                        > is getting degraded as I add more
                        concurrent users/threads.
                        >
                        > Single user/thread --> about 100ms
                        > 10 users/threads  --> about  230ms
                        > 15 users/threads  --> about  320ms
                        > 20 users/threads  --> about  440ms
                        > 25 users/threads  --> about  550ms
                        > 40 users/threads  --> about  900-1000ms
                        > 50 users/threads  --> about  1300-1400ms
                        >
                        > Please see the attached screenshot for
                        CPU, heap and thread
                        > monitoring. I do not see the problem of
                        CPU being max out or not
                        > enough memory or not scaling threads as I
                        add more users.
                        >
                        > H2 Version:h2-1.3.166
                        > Url:
                        > jdbc:h2:tcp://localhost:9092/<<DB absolute
                        >
                        
path>>;MULTI_THREADED=1;CACHE_SIZE=<<cashesize>>;CIPHER=AES;IFEXISTS=TRUE

                        >
                        > <<cashesize>> ==> tried different values,
                        defualt-16mb, 128mb, 256mb,
                        > 512mb and 1024mb (supplied in KB though)
                        >
                        > FYI,
                        > Each thread is executing lot of queries
                        (around 15-20) and some of
                        > them are recursive queries (to fetch
                        heirachy data).
                        >
                        >
                        > Please let me know if anybody run into the
                        same problem and how did
                        > you resolve.
                        >
                        > Thanks in advance.
                        > -Sri
                        > --
                        > 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/-/hbZ9WV8cFWEJ
                        
<https://groups.google.com/d/msg/h2-database/-/hbZ9WV8cFWEJ>.

                        > 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
                        <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/-/njQ5VJHkPvEJ
                    
<https://groups.google.com/d/msg/h2-database/-/njQ5VJHkPvEJ>.
                    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
                    <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/-/YscoajbGnT4J
                <https://groups.google.com/d/msg/h2-database/-/YscoajbGnT4J>.
                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
                <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 unsubscribe from this group and stop receiving emails
            from it, send an email to [email protected].

            To post to this group, send email to
            [email protected].
            Visit this group at
            http://groups.google.com/group/h2-database?hl=en
            <http://groups.google.com/group/h2-database?hl=en>.
            For more options, visit
            https://groups.google.com/groups/opt_out
            <https://groups.google.com/groups/opt_out>.



--
You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.



--
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to