From: | Mate Varga <m(at)matevarga(dot)net> |
---|---|
To: | pg(at)fastcrypt(dot)com |
Cc: | Dmitry Igrishin <dmitigr(at)gmail(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: very slow largeobject transfers through JDBC |
Date: | 2018-09-03 07:55:04 |
Message-ID: | CAK4GaZ6dAtcAz9bH-eEvUEco1e4CVcdYr3a5qT05nNfQ0vRH-A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Basically there's a class with a byte[] field, the class is mapped to table
T and the byte field is annotated with @Lob so it goes to the
pg_largeobject table. The DB is on separate host but relatively close to
the app, and I can reproduce the problem locally as well. One interesting
bit is that turning of SSL between the app and PSQL speeds up things by at
least 50%.
Ah, one addition -- the binary objects are encrypted, so their entropy is
very high.
Mate
On Sun, Sep 2, 2018 at 12:55 AM Dave Cramer <pg(at)fastcrypt(dot)com> wrote:
>
>
>
> On Fri, 31 Aug 2018 at 10:15, Mate Varga <m(at)matevarga(dot)net> wrote:
>
>> I see -- we could try that, though we're mostly using an ORM (Hibernate)
>> to do this. Thanks!
>>
>> On Fri, Aug 31, 2018 at 3:57 PM Dmitry Igrishin <dmitigr(at)gmail(dot)com>
>> wrote:
>>
>>> пт, 31 авг. 2018 г. в 16:35, Mate Varga <m(at)matevarga(dot)net>:
>>> >
>>> > Hi,
>>> >
>>> > we're fetching binary data from pg_largeobject table. The data is not
>>> very large, but we ended up storing it there. If I'm copying the data to a
>>> file from the psql console, then it takes X time (e.g. a second), fetching
>>> it through the JDBC driver takes at least 10x more. We don't see this
>>> difference between JDBC and 'native' performance for anything except
>>> largeobjects (and bytea columns, for the record).
>>> >
>>> > Does anyone have any advice about whether this can be tuned or what
>>> the cause is?
>>> I don't know what a reason of that, but I think it's reasonable and
>>> quite simple to call lo_import()/lo_export() via JNI.
>>>
>>
> Can't imagine that's any faster. The driver simply implements the protocol
>
> Do you have any code to share ? Any other information ?
>
> Is the JDBC connection significantly further away network wise ?
>
>
> Dave Cramer
>
> davec(at)postgresintl(dot)com
> www.postgresintl.com
>
From | Date | Subject | |
---|---|---|---|
Next Message | Dave Cramer | 2018-09-03 09:48:25 | Re: very slow largeobject transfers through JDBC |
Previous Message | Andres Freund | 2018-09-03 03:04:19 | Re: WARNING: could not flush dirty data: Function not implemented |