PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgresql:Zapytanie 10x wolniej w innym kliencie

Możesz sprawdzić, czy powolny klient szyfruje SSL, czy nie. Dzieje się tak domyślnie, gdy jest skonfigurowany na serwerze, a klient został skompilowany z obsługą SSL.

W przypadku zapytań, które pobierają duże ilości danych, różnica czasu jest znacząca. Również niektóre dystrybucje Linuksa, takie jak Debian/Ubuntu, mają domyślnie włączone SSL, nawet dla połączeń TCP przez localhost.

Jako przykład, oto różnica czasu dla zapytania pobierającego 1,5 miliona wierszy o łącznej wadze 64 MB, z ciepłą pamięcią podręczną.

Bez szyfrowania:

$ 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

Z szyfrowaniem:

$ 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

Aby wyłączyć go globalnie, można ustawić SSL=off w postgresql.conf .

Aby wyłączyć to dla określonych zakresów adresów klientów, dodaj wpisy w pg_hba.conf z hostnossl w pierwszym polu przed bardziej ogólnym host wpisy.

Aby wyłączyć, jeśli jest wyłączone po stronie klienta, zależy to od tego, jak sterownik udostępnia sslmode parametr połączenia. Jeśli nie, PGSSLMODE zmienna środowiskowa może być użyta, jeśli sterownik jest zaimplementowany na libpq .

Jeśli chodzi o połączenia przez gniazda domeny Unix (local ), SSL nigdy nie jest z nimi używany.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP json_encode Problem z odwrotnym ukośnikiem i nazwą tablicy

  2. Solidne podejście do programowego budowania zapytań SQL

  3. Dlaczego PostgreSQL połączył użytkowników i grupy w role?

  4. Alternatywy PGTune — konfiguracja ClusterControl PostgreSQL

  5. Jak dokładnie wyczyścić i ponownie zainstalować postgresql na ubuntu?