Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1YfnMt-0005rj-IF for pgsql-performance@arkaria.postgresql.org; Wed, 08 Apr 2015 10:37:59 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.80) (envelope-from ) id 1YfnMs-0007ip-2s for pgsql-performance@arkaria.postgresql.org; Wed, 08 Apr 2015 10:37:58 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1YfnMq-0007ii-TU for pgsql-performance@postgresql.org; Wed, 08 Apr 2015 10:37:56 +0000 Received: from mail-wi0-x22c.google.com ([2a00:1450:400c:c05::22c]) by magus.postgresql.org with esmtps (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1YfnMe-0003lS-Md for pgsql-performance@postgresql.org; Wed, 08 Apr 2015 10:37:55 +0000 Received: by wiaa2 with SMTP id a2so52927546wia.0 for ; Wed, 08 Apr 2015 03:37:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=content-type:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=CELd9SKpTCHbd5SIgoTvqF6vNfwPImhu+US7qxqzzz0=; b=mzpBgw8odtsFptyHKiVe9S5UD2BW5STZIUTLeM+6n5u8/0lN9CA2IZ/8f6Ku0+Dk05 M5JpPyRuOeK7uyo58udEDBR71odrZJKusyqU11Z4t/XAWJ/bbPvheLI5b0Hf9nwZc1MA UMVg97vxkyACyMhjFDifAmLeWSC2ZgqFoTITQHAdtF18M5UzmDUnbPtH1RxGU+Y20vrp /2ptlddGnBUFPxN2utv/YJjzVMI3Yq6Ubp80BPKg8ueCHmb0y1xT6OiWZq+LLp03MaX7 ztLcKNrOjZcrB0ALNsfn4F2JiOsDv2m0dxJbWVCnnXG8IerUnSmRe8dptSO6jNvUqZus an0Q== X-Received: by 10.180.85.130 with SMTP id h2mr13282831wiz.3.1428489463147; Wed, 08 Apr 2015 03:37:43 -0700 (PDT) Received: from [192.168.2.2] (2-230-140-245.ip202.fastwebnet.it. [2.230.140.245]) by mx.google.com with ESMTPSA id dq8sm15061052wib.9.2015.04.08.03.37.39 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 08 Apr 2015 03:37:42 -0700 (PDT) Content-Type: multipart/alternative; boundary="Apple-Mail=_17C8DCEE-67AC-472D-8AEE-5E2D51435FB8" Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: Can't get Dell PE T420 (Perc H710) perform better than a MacMini with PostgreSQL From: Pietro Pugni In-Reply-To: Date: Wed, 8 Apr 2015 12:37:38 +0200 Cc: PostgreSQL Performance Message-Id: <26DD64DA-776D-4AF1-817F-9F5368B449CA@gmail.com> References: <732B95A3-FEC8-4623-9AC5-98FD30F00863@gmail.com> <2F18FF84-5408-4AE8-9F2B-9110F76DED86@gmail.com> <5CC78F3A-8FD3-447F-8AB3-98BE80658E79@gmail.com> <051212BE-A86B-4874-8BAC-18F609DE8229@gmail.com> To: mimmopasticcio X-Mailer: Apple Mail (2.1878.6) X-Pg-Spam-Score: -2.7 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-performance Precedence: bulk Sender: pgsql-performance-owner@postgresql.org --Apple-Mail=_17C8DCEE-67AC-472D-8AEE-5E2D51435FB8 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 > Ciao Pietro, > stavo seguendo thread sulla mailing list Postgresql. >=20 > Puoi farmi un piccolo riassunto delle conclusioni perch=E8 non sono = sicuro di aver capito tutto? Ciao Domenico, s=EC effettivamente la mailing list =E8 un po=92 dispersiva. Utilizzando il collation di tipo =93C=94 il Dell T420 impiega meno tempo = rispetto al Mac Mini nell=92esecuzione di qualsiasi query. La differenza = finora =E8 del 20%-30% circa. Adesso sto facendo un caricamento dati = massiccio che sul Dell impiegava 3 giorni circa mentre sul Mac Mini = impiega 1 giorno e mezzo circa e vi far=F2 sapere il tempo di = esecuzione. > Alla fine la differenza di performance tra il DELL R420 e il Mac MINI = =E8 dovuta al tipo di "collate" utilizzato nell'inizializzazione del DB? Possono essere adoperati diversi collation all=92interno dello stesso = DB. Ogni tabella pu=F2 averne uno diverso, persino ogni attributo pu=F2 = avere un collation diverso dagli altri attributi della stessa tabella o = della stessa SELECT. Il comando: initdb =97no-locale imposta il collate =93C=94 come predefinito per il DB creato. Tuttavia nel file di postgresql.conf sono presenti le seguenti variabili = di configurazione che definiscono il collate predefinito per l=92istanza = di Postgres avviata: # These settings are initialized by initdb, but they can be changed. lc_messages =3D 'C' # locale for system error = message # strings lc_monetary =3D 'C' # locale for monetary = formatting lc_numeric =3D 'C' # locale for number formatting lc_time =3D 'C' # locale for time formatting In ogni caso mi aspettavo performance migliori da questo Dell, = soprattutto considerando il livello della macchina (controller RAID di = un certo livello, 10 dischi rigidi SAS da 10k rpm per i dati e 2 dischi = SAS da 15k rpm per sistema operativo e WAL, 128GB di RAM e 2 CPU Xeon = per un totale di 16 core fisici e 16 logici). Oltre al collation =E8 bene modificare le impostazioni del BIOS e del = controller RAID; il primo perch=E9 su questi sistemi sono impostate = opzioni di risparmio energetico che tagliano la potenza, mentre per il = RAID =E8 bene scegliere una cache in scrittura del tipo WriteBack e in = lettura del tipo ReadAhead e poi controllare che la batteria della cache = di scrittura sia carica, altrimenti non viene adoperata nessuna cache. Ovviamente poi la configurazione RAID fa tanto; per ora utilizziamo = RAID5 che non =E8 affatto performante in scrittura ma lo =E8 in lettura. Il tutto dipende dall=92applicazione specifica. Nel nostro caso =E8 una = sorta di data warehouse ibrido, quindi una soluzione mono utenza che fa = uso di grandi moli di dati (siamo nell=92ordine dei 1.8TB di database): = poche transazioni ma massicce. Le impostazioni sul kernel agiscono = soprattutto sulle performance in ambienti multi utenza (migliaia di = connessioni) e con le ultime versioni di Postgres e del kernel linux il = sistema =E8 gi=E0 abbastanza auto bilanciato. Spero di essere stato sufficientemente chiaro ed esaustivo. Cordiali saluti, Pietro --Apple-Mail=_17C8DCEE-67AC-472D-8AEE-5E2D51435FB8 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=windows-1252
Ciao = Pietro,
stavo seguendo thread sulla mailing list = Postgresql.

Puoi farmi un piccolo riassunto = delle conclusioni perch=E8 non sono sicuro di aver capito = tutto?

Ciao Domenico,
s=EC = effettivamente la mailing list =E8 un po=92 = dispersiva.
Utilizzando il collation di tipo =93C=94 il Dell = T420 impiega meno tempo rispetto al Mac Mini nell=92esecuzione di = qualsiasi query. La differenza finora =E8 del 20%-30% circa. Adesso sto = facendo un caricamento dati massiccio che sul Dell impiegava 3 giorni = circa mentre sul Mac Mini impiega 1 giorno e mezzo circa e vi far=F2 = sapere il tempo di esecuzione.

Alla fine la differenza di performance = tra il DELL R420 e il Mac MINI =E8 dovuta al tipo di "collate" = utilizzato nell'inizializzazione del = DB?

Possono essere adoperati diversi = collation all=92interno dello stesso DB. Ogni tabella pu=F2 averne uno = diverso, persino ogni attributo pu=F2 avere un collation diverso dagli = altri attributi della stessa tabella o della stessa = SELECT.

Il comando:
initdb = =97no-locale

imposta il collate =93C=94 = come predefinito per il DB creato.
Tuttavia nel file di = postgresql.conf sono presenti le seguenti variabili di configurazione = che definiscono il collate predefinito per l=92istanza di Postgres = avviata:
# These = settings are initialized by initdb, but they can be = changed.
lc_messages =3D 'C' =                     =   # locale for system error message
                =                     =     # strings
lc_monetary =3D 'C'           =             # locale for monetary = formatting
lc_numeric =3D 'C' =                     =    # locale for number formatting
lc_time =3D 'C'           =                 # locale for = time formatting

In ogni caso mi = aspettavo performance migliori da questo Dell, soprattutto considerando = il livello della macchina (controller RAID di un certo livello, 10 = dischi rigidi SAS da 10k rpm per i dati e 2 dischi SAS da 15k rpm per = sistema operativo e WAL, 128GB di RAM e 2 CPU Xeon per un totale di 16 = core fisici e 16 logici).
Oltre al collation =E8 bene = modificare le impostazioni del BIOS e del controller RAID; il primo = perch=E9 su questi sistemi sono impostate opzioni di risparmio = energetico che tagliano la potenza, mentre per il RAID =E8 bene = scegliere una cache in scrittura del tipo WriteBack e in lettura del = tipo ReadAhead e poi controllare che la batteria della cache di = scrittura sia carica, altrimenti non viene adoperata nessuna = cache.
Ovviamente poi la configurazione RAID fa tanto; per ora = utilizziamo RAID5 che non =E8 affatto performante in scrittura ma lo =E8 = in lettura.
Il tutto dipende dall=92applicazione specifica. = Nel nostro caso =E8 una sorta di data warehouse ibrido, quindi una = soluzione mono utenza che fa uso di grandi moli di dati (siamo = nell=92ordine dei 1.8TB di database): poche transazioni ma massicce. Le = impostazioni sul kernel agiscono soprattutto sulle performance in = ambienti multi utenza (migliaia di connessioni) e con le ultime versioni = di Postgres e del kernel linux il sistema =E8 gi=E0 abbastanza auto = bilanciato.

Spero di essere stato = sufficientemente chiaro ed esaustivo.
Cordiali = saluti,
 Pietro

= --Apple-Mail=_17C8DCEE-67AC-472D-8AEE-5E2D51435FB8--