Möglicherweise möchten Sie überprüfen, ob der langsame Client eine SSL-Verschlüsselung durchführt oder nicht. Dies geschieht standardmäßig, wenn es auf dem Server eingerichtet und der Client mit SSL-Unterstützung kompiliert wurde.
Bei Abfragen, die große Datenmengen abrufen, ist der Zeitunterschied erheblich. Auch einige Linux-Distributionen wie Debian/Ubuntu haben SSL standardmäßig aktiviert, sogar für TCP-Verbindungen über localhost.
Als Beispiel sehen Sie hier den Zeitunterschied für eine Abfrage, die 1,5 Millionen Zeilen mit einem Gesamtgewicht von 64 MB mit einem warmen Cache abruft.
Ohne Verschlüsselung:
$ psql "host=localhost dbname=mlists sslmode=disable" Password: psql (9.1.7, server 9.1.9) Type "help" for help. mlists=> \timing Timing is on. mlists=> \o /dev/null mlists=> select subject from mail; Time: 1672.258 ms
Mit Verschlüsselung:
$ psql "host=localhost dbname=mlists" Password: psql (9.1.7, server 9.1.9) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. mlists=> \o /dev/null mlists=> \timing Timing is on. mlists=> select subject from mail; Time: 7017.935 ms
Um es global auszuschalten, könnte man SSL=off
setzen in postgresql.conf
.
Um es für bestimmte Bereiche von Clientadressen auszuschalten, fügen Sie Einträge in pg_hba.conf
hinzu mit hostnossl
im ersten Feld vor dem allgemeineren host
Einträge.
Um es clientseitig zu deaktivieren, hängt es davon ab, wie der Treiber den sslmode
verfügbar macht Verbindungsparameter. Wenn nicht, wird der PGSSLMODE
Umgebungsvariable kann verwendet werden, wenn der Treiber auf libpq
implementiert wird .
Wie bei Verbindungen über Unix-Domain-Sockets (local
), SSL wird nie mit ihnen verwendet.