[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [postgresql-it] Problemi con sincronizzazione tra due DB.



Ciao Nicolas,

Il 02/04/12 17:06, Nicolas ha scritto:
Ciao Gabriele,

Escludo sia un problema hardware in quanto il master ha:

2 processori Intel Bi Xeon E5606
RAM 24 GB DDR3 ECC
2 dischi in raid 1 HW da 2TB - SATA2 -

lo slave:
2 processori Intel Xeon i7 W3520
RAM 24 GB DDR3
2 dischi in raid 1 SW da 2TB - SATA2

Le macchine sono interconnesse tra di loro con una rete privata.
---
Sistema operativo (entrambe le macchine)
Description:    Debian GNU/Linux 6.0.4 (squeeze)
Release:        6.0.4
Codename:       squeeze

Il Db è su file system Ext4.

Ok, hai fatto dei benchmark prestazionali (sia a livello di hardware che di database) e hai per caso dati da mandare in lista a tal proposito?

Te lo dico perché la nostra esperienza ci suggerisce di essere sempre molto cauti verso l'hardware e di testarlo a fondo sempre prima di andare in produzione. Infatti, molto spesso dai nostri controlli emergono o problemi hardware o configurazioni non ottimali di dispositivi, sistemi operativi, database, ecc.

Inoltre, il tuning per un DBMS è molto diverso dal tuning per un web server per cui occorre stare attenti a trovare un compromesso.

Attualmente i due db vengono replicati con una procedura, ansicrona tramite shell script:
Allora non stai usando Bucardo ... :)

Sulla macchina oltre al DB è in esecuzione Apache (2.2) + php5, ma il collo di bottiglia è Postgres.
Per generare una pagina ci mette 1558ms di cui 1190ms di query postgress.
Quando la stessa query sul Db sincronizzato tramite shell script ci mette la 731ms.
Scusami ma non capisco se le query le stai facendo su un database con la replica già attiva oppure su quello attualmente installato (con la procedura shell).

Spero che le informazioni che vi ho fornito siano sufficenti per avere un quadro migliore del problema.
Purtroppo da quello che riesco a vedere, per me il problema può continuare a risiedere in ognuno dei punti visti in precedenza (senza escludere la query stessa). A mio parere, per risolvere il problema è necessario fare un'investigazione profonda su tutto il sistema. Altrimenti temo che finirei per darti un consiglio o suggerimento sbagliato basandomi su un'analisi superficiale del problema (cosa che preferisco non fare).
Visto che il grado di difficoltà del tuo problema sembra essere abbastanza avanzato e soprattutto se questo dovesse riguardare dati commerciali, ti consiglierei vivamente di rivolgerti ad aziende professionali che fanno questo lavoro, sia per la formazione (se vuoi lavorare da solo) sia per la consulenza vera e propria: http://www.postgresql.org/support/professional_support/europe/

Ciao,
Gabriele
-- 
 Gabriele Bartolini - 2ndQuadrant Italia
 PostgreSQL Training, Services and Support
 gabriele.bartolini@xxxxxxxxxxxxxx | www.2ndQuadrant.it