Re: Can't get Dell PE T420 (Perc H710) perform better than a MacMini with PostgreSQL

Поиск
Список
Период
Сортировка
От Pietro Pugni
Тема Re: Can't get Dell PE T420 (Perc H710) perform better than a MacMini with PostgreSQL
Дата
Msg-id 26DD64DA-776D-4AF1-817F-9F5368B449CA@gmail.com
обсуждение исходный текст
Ответ на Can't get Dell PE T420 (Perc H710) perform better than a MacMini with PostgreSQL  (Pietro Pugni <pietro.pugni@gmail.com>)
Список pgsql-performance
Ciao Pietro,
stavo seguendo thread sulla mailing list Postgresql.

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

Ciao Domenico,
sì effettivamente la mailing list è un po’ dispersiva.
Utilizzando il collation di tipo “C” il Dell T420 impiega meno tempo rispetto al Mac Mini nell’esecuzione di qualsiasi query. La differenza finora è 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ò sapere il tempo di esecuzione.

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

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

Il comando:
initdb —no-locale

imposta il collate “C” 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’istanza di Postgres avviata:
# These settings are initialized by initdb, but they can be changed.
lc_messages = 'C'                       # locale for system error message
                                        # strings
lc_monetary = 'C'                       # locale for monetary formatting
lc_numeric = 'C'                        # locale for number formatting
lc_time = '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 è bene modificare le impostazioni del BIOS e del controller RAID; il primo perché su questi sistemi sono impostate opzioni di risparmio energetico che tagliano la potenza, mentre per il RAID è 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 è affatto performante in scrittura ma lo è in lettura.
Il tutto dipende dall’applicazione specifica. Nel nostro caso è una sorta di data warehouse ibrido, quindi una soluzione mono utenza che fa uso di grandi moli di dati (siamo nell’ordine 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 è già abbastanza auto bilanciato.

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

В списке pgsql-performance по дате отправления:

Предыдущее
От: Qingqing Zhou
Дата:
Сообщение: Re: Weird CASE WHEN behaviour causing query to be suddenly very slow
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: Some performance testing?