sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgresql:Forespørg 10x langsommere i en anden klient

Du vil måske kontrollere, om den langsomme klient udfører SSL-kryptering eller ej. Det sker som standard, når det er sat op på serveren, og klienten er blevet kompileret med SSL-understøttelse.

For forespørgsler, der henter store mængder data, er tidsforskellen betydelig. Også nogle Linux-distributioner som Debian/Ubuntu har SSL slået til som standard, selv for TCP-forbindelser via localhost.

Som et eksempel er her tidsforskellen for en forespørgsel, der henter 1,5M rækker, der vejer i alt 64Mbytes, med en varm cache.

Uden kryptering:

$ 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

Med kryptering:

$ 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

For at slå det fra globalt, kan man indstille SSL=off i postgresql.conf .

For at deaktivere det for specifikke områder af klientadresser skal du tilføje poster i pg_hba.conf med hostnossl i det første felt før den mere generiske host poster.

For at slå det fra på klientsiden afhænger det af, hvordan driveren eksponerer sslmode forbindelsesparameter. Hvis den ikke gør det, vises PGSSLMODE miljøvariablen kan bruges, hvis driveren er implementeret oven på libpq .

Hvad angår forbindelser gennem Unix-domæne-sockets (local ), SSL bruges aldrig sammen med dem.




  1. SQLiteReadOnlyDatabaseException:forsøg på at skrive en skrivebeskyttet database (kode 1032)

  2. Lyt til afsnit 2 af Microsoft Access Podcast

  3. gem install mysql:Kunne ikke bygge gem native extension (Mac Lion)

  4. Hvordan viser du alle tabeller med dataændringer inden for de seneste 24 timer?