Re: disable SSL compression?

From: Konstantin Knizhnik <k(dot)knizhnik(at)postgrespro(dot)ru>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: disable SSL compression?
Date: 2018-03-28 17:36:32
Message-ID: c02e9847-834b-cdcf-1d71-fd4ee15fd115@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 28.03.2018 20:26, Konstantin Knizhnik wrote:
>
>
> On 17.03.2018 17:18, Peter Eisentraut wrote:
>> On 3/11/18 13:28, Tom Lane wrote:
>>>> My proposal is the attached patch that sets the default in libpq to off
>>>> and adjusts the documentation a bit so it doesn't sound like we have
>>>> missed the news altogether.
>>> Seems reasonable as far as it goes, but do we need to make corresponding
>>> server-side changes?
>> We could add a setting to disable SSL compression on the server, as some
>> web servers have been doing, but the niche of version combinations where
>> that would be applicable seems pretty low.
>>
>
>
> One of our customers was managed to improve speed about 10 times by
> using SSL compression for the system where client and servers are
> located in different geographical regions
> and query results are very large because of JSON columns. Them
> actually do not need encryption, just compression.
> I expect that it is not the only case where compression of libpq
> protocol can be useful. Please notice that logical replication is also
> using libpq protocol.
>
> If SSL compression is deprecated, should we provide own compression?
> I have implemented some prototype implementation of it (patch is
> attached).
> I have added compression=on/off parameter to connection string and -Z
> option to psql and pgbench utilities.
> Below are some results:
>
> Compression ratio (raw->compressed):
>
>
> libz (level=1)
> libzstd (level=1)
> pgbench -i -s 10
> 16997209->2536330
> 16997209->268077
> pgbench -t 100000 -S
> 6289036->1523862
> 6600338<-900293
> 6288933->1777400
> 6600338<-1000318
>
>
> There is no mistyping: libzstd compress COPY data about 10 times
> better than libz, with wonderful compression ratio 63.
>
> Influence on execution time is minimal (I have tested local
> configuration when client and server are at the same host):
>
>
> no compression
> libz (level=1)
> libzstd (level=1)
> pgbench -i -s 10
> 1.552
> 1.572
> 1.611
> pgbench -t 100000 -S
> 4.482
> 4.926
> 4.877
>
>
>
>
>
> --
> Konstantin Knizhnik
> Postgres Professional:http://www.postgrespro.com
> The Russian Postgres Company

Sorry, I have attached wrong patch.
To use zstd compression, Postgres should be configured with --with-zstd.
Otherwise compression will use zlib unless it is disabled by
--without-zlib option.

--
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Attachment Content-Type Size
libpq-compression-2.patch text/x-patch 34.5 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Steele 2018-03-28 17:46:02 Re: Reopen logfile on SIGHUP
Previous Message Peter Geoghegan 2018-03-28 17:33:54 Re: PostgreSQL crashes with SIGSEGV