Re: Disable OpenSSL compression

Albe Laurenz <laurenz.albe@wien.gv.at>

From: "Albe Laurenz" <laurenz.albe@wien.gv.at>
To: "Tom Lane *EXTERN*" <tgl@sss.pgh.pa.us>, "Marko Kreen" <markokr@gmail.com>
Cc: <pgsql-hackers@postgresql.org>
Date: 2011-11-08T15:59:02Z
Lists: pgsql-hackers
Tom Lane wrote:
> There might be some argument for providing a client option to disable
> compression, but it should not be forced, and it shouldn't even be the
> default.  But before adding YA connection option, I'd want to see some
> evidence that it's useful over non-local connections.

Here are numbers from a test via LAN.
The client machine has OpenSSL 0.9.8e, the server OpenSSL 1.0.0.

The client command run was

echo 'select ...' | time psql "host=..." -o /dev/null

and \timing was turned on in .psqlrc

In addition to the oprofile data I collected three times:
- the duration as shown in the server log
- the duration as shown by \timing
- the duration of the psql command as measured by "time"

Without patch:

duration: 5730.996 ms (log), 5975.093 ms (\timing), 22.87 s (time)

samples  %        image name               symbol name
4428     80.2029  libz.so.1.2.3            /lib64/libz.so.1.2.3
559      10.1250  postgres                 hex_encode
361       6.5387  libcrypto.so.1.0.0       /usr/lib64/libcrypto.so.1.0.0
83        1.5034  libc-2.12.so             memcpy

With patch:

duration: 3001.009 ms (log), 3243.690 ms (\timing), 20.27 s (time)

samples  %        image name               symbol name
1072     58.0401  libcrypto.so.1.0.0       /usr/lib64/libcrypto.so.1.0.0
587      31.7813  postgres                 hex_encode
105       5.6849  libc-2.12.so             memcpy


I think this makes a good case for disabling compression.

Yours,
Laurenz Albe