Newsgroup: it.comp.os.linux.sys
Titolo: PostgreSQL tuning connessione TCP

Ciao,
ho un VPS Openvz con 8G Ram
connesso su rete locale gigabit ad un DB server con 6G Ram.
Il DB server č Postgress 8.4 su OS Debian Squeeze 64 bit.
E' presente solo quel servizio.
 
Su operazioni di importazione dove fa cicli con INSERT e SELECT
ha un comportamento "strano":
fino a 1.000.000 di record circa č comparabile con con una versione che 
ho in stage, unico server con DB in locale.
 
Quando i record aumentano, le prestazioni precipitano,
il client incomincia ad occupare molta ram fino anche a saturarla,
mentre il DB sembra non faccia nulla, CPU idle, RAM non usata nessun 
stress I/O su disco.
 
Potrebbe essere un settaggio di postgresql.conf che limita le 
performance se collegato via TCP ?
 
E/O settaggio della scheda di rete, pacchetti TCP ... ?
 
Queste le config postgresql.conf sui due server:
 
-------------------------------------------------------------
Web server ( client )
less /etc/postgresql/8.4/main/postgresql.conf
 
data_directory = '/var/lib/postgresql/8.4/main'
hba_file = '/etc/postgresql/8.4/main/pg_hba.conf'
ident_file = '/etc/postgresql/8.4/main/pg_ident.conf'
# If external_pid_file is not explicitly set, no extra PID file is written.
external_pid_file = '/var/run/postgresql/8.4-main.pid'
max_connections = 100
unix_socket_directory = '/var/run/postgresql'
ssl = true
shared_buffers = 24MB
datestyle = 'iso, mdy'
lc_messages = 'C'
lc_monetary = 'C'                       # locale for monetary formatting
lc_numeric = 'C'                        # locale for number formatting
lc_time = 'C'                           # locale for time formatting
default_text_search_config = 'pg_catalog.english'
 
-------------------------------------------------------------
 
DB Server
less /etc/postgresql/8.4/main/postgresql.conf
 
data_directory = '/var/lib/postgresql/8.4/main'
hba_file = '/etc/postgresql/8.4/main/pg_hba.conf'
ident_file = '/etc/postgresql/8.4/main/pg_ident.conf'
external_pid_file = '/var/run/postgresql/8.4-main.pid'
listen_addresses = 'localhost,192.168.30.10'
port = 5432
max_connections = 100
unix_socket_directory = '/var/run/postgresql'
ssl = true
shared_buffers= 24MB
work_mem = 16MB
maintenance_work_mem = 64MB
wal_buffers = 1MB
seq_page_cost = 1.0
random_page_cost = 2.0
effective_cache_size = 512MB
log_line_prefix = '%t '
datestyle = 'iso, dmy'
lc_messages = 'it_IT.UTF-8'
lc_monetary = 'it_IT.UTF-8'
lc_numeric = 'it_IT.UTF-8'
lc_time = 'it_IT.UTF-8'
 
-------------------------------------------------------------
 
Grazie Mille per chi avesse la pazzienza :-)
 
-- Yena --

 Grazie Mille per chi avesse la pazzienza :-)
 
messaggi nel log?
a volte postgres dà messaggi abbastanza utili
 
poi, visto che il problema peggiora all'aumentare dei record, la domanda 
sullo stato degli indici e' scontata
 
ci sono?
sono quelli che servono?

 performance se collegato via TCP ?
 
No.
E' assai più probabile che sia un problema di implementazione del client.
 

 [...]
 
 
Ciao  Manlio

E/O settaggio della scheda di rete, pacchetti TCP ... ?
 
Se il **client** ha un settaggio che dice "aumenta prestazioni",
TOGLILO.
 
Vedrai mi rammenti ;-)
 
Leonardo
 
-- 
 
Then felt I like some watcher of the skies, when a new planet swims into his ken;
Or like stout Cortez when with eagle eyes, he star'd at the Pacific; and all his men
Look'd at each other with a wild surmise - silent, upon a peak in Darien.

 fino a 1.000.000 di record circa è comparabile con con una versione che

Non ho capito bene una cosa, ma usi un web come client per fare le 
importazioni ?