Re: Postgresql e kernel/user mode benchmark

2003-06-19 Per discussione Mattia Dongili
On 18 Jun 2003 23:41:16 +0200
Federico Di Gregorio [EMAIL PROTECTED] wrote:

 Il mer, 2003-06-18 alle 11:21, Marco Bodrato ha scritto:
  On Tue, Jun 17, 2003 at 03:54:48PM +0200, Giuseppe Pagano wrote:
  
Credo che il fatto che che 2 istanze e 2 db perdano piu' tempo
in kernel mode sia dovuta allo scheduler del kernel che deve
switchare tra i 2 processi... mentre il fatto che il tempo in
usermode di 1 istanza e 2 db[...]
   macchina piu' simile a quella di produzione (biprocessore e dischi
   scsi), sicuramente vedro' delle differenze, ma per ora mi
   interessava un vostro parere per capire meglio quali parametri
   valutare.
  
  Una sensazione... Su una macchina biprocessore, due processi
  dovrebbero funzionare meglio. Con un processo solo l'altra CPU ti
  serve veramente a poco, no?
 
 per quello basta un'istanza del db comunque, visto che viene staccato
 un nuovo thread/processo per ogni connessione. comunque, consiglio

infatti dai nuovi test che ha postato non ci sono differenze

 generico, la *prima* cosa da fare e` aumentare la page-cache di
 postgres, in modo che buona parte degli accessi al disco finisca in
 ram.

potrebbe mettere i database su dischi diversi al limite (?)

-- 
mattia




Re: Postgresql e kernel/user mode benchmark

2003-06-18 Per discussione Giuseppe Pagano
A chi interessa ho rieseguito le prove di prestazioni postgresql su una
o 2 istanza su una macchina scsi biprocessore inserendo anche io
controllo sull' I/O, ecco i risultati:
CPU kernel  userIO
modemode
51% 5.4511.19   226188
51% 5.1211.12   219503
53% 5.5311.31   224851
51% 4.9911.53   226188
52% 5.2411.73   230199
51% 5.5910.65   223514
51% 5.6911.02   228862
51% 5.1011.43   227525
51% 5.5811.19   231536
52% 5.4611.40   231536
5.375   11.257  226990.2 --MEDIE

2 DB 1 ISTANZA :
52% 5.4811.19   226188
53% 5.3511.75   230199
53% 5.4411.82   234210
52% 5.0711.89   230199
51% 5.1510.84   218166
52% 4.8710.81   211481
52% 5.5111.65   232873
51% 5.3811.01   222177
52% 4.9010.76   210144
52% 5.3511.08   223514
5.250   11.280  223915.1  --MEDIE

Ciao
Giuseppe

On Tue, 2003-06-17 at 14:17, Giuseppe Pagano wrote:
 Ciao a tutti,
 volevo chiedere agli hacker del kernel se e' meglio che un'applicativo
 risparmi CPU time in kernel mode a discapito dello user mode o
 viceversa.
 
 Mi spiego meglio:
 Sto facendo delle prove per vedere se, quando su uno stesso server si
 realizzano 2 database di grandi dimensioni, a livello di prestazioni e'
 meglio utilizzare 1 sola istanza di postgresql o 2 istanze con 1 db su
 ogni istanza.
 
 Per ora sto analizzando la parte relativa al carico che si produce sulla
 macchina in conseguenza di una serie di query contemporanee sui 2 db.
 
 Non mi dilungo nella spiegazione della script di test, comunque basti
 sapere che produco 200 query mandate in background sui 2 db, prima
 creati su 2 istanze separate (porta 5432 e 5433), e poi sulla stessa
 istanza.
 
 Ecco i risultati, qualcuno mi aiuta ad interpretarli ?
  
 /usr/bin/time -o time.log --append -f %P %S %U sh test_script.sh 
 
 Percentage  CPU-secondsCPU-seconds
 of the CPU   (in kernel mode)(in user mode)
 -- 2 istanze, 2 db 
   19% 2.2712.12
   18% 2.0911.98
   19% 1.9512.18
   19% 2.3211.90
   19% 2.0411.85
   18% 2.0411.39
   18% 2.1611.72
   19% 2.0011.72
   20% 1.7412.55
 
 MEDIA 2.0611.93444
 
 -- 1 istanze, 2 db --
   19% 1.8012.53
   19% 1.6912.24
   19% 1.6612.06
   19% 1.4112.12
   20% 1.7112.43
   19% 1.6712.32
   19% 1.6712.20
   18% 1.6012.33
 
 MEDIA 1.651   12.2787
 
 La mia domanda principale e' perlappunto: e' meglio risparmiare CPU time
 in kernel mode e perderci in user mode (io penso di si) o viceversa ?
 
 Ciao a tutti 
 Giuseppe
 
 -- 
 Giuseppe Pagano
 Linux System Administrator @ Nekhem S.r.L
 http://www.nekhem.com
 [EMAIL PROTECTED]
 cell. 348.45.31.572
 fax. 011.56.35.904
-- 
Giuseppe Pagano
Linux System Administrator @ Nekhem S.r.L
http://www.nekhem.com
[EMAIL PROTECTED]
cell. 348.45.31.572
fax. 011.56.35.904





Re: Postgresql e kernel/user mode benchmark

2003-06-18 Per discussione Marco Bodrato
On Tue, Jun 17, 2003 at 03:54:48PM +0200, Giuseppe Pagano wrote:

  Credo che il fatto che che 2 istanze e 2 db perdano piu' tempo in kernel
  mode sia dovuta allo scheduler del kernel che deve switchare tra i 2
  processi... mentre il fatto che il tempo in usermode di 1 istanza e 2 db
[...]
 macchina piu' simile a quella di produzione (biprocessore e dischi
 scsi), sicuramente vedro' delle differenze, ma per ora mi interessava un
 vostro parere per capire meglio quali parametri valutare.

Una sensazione... Su una macchina biprocessore, due processi dovrebbero
funzionare meglio. Con un processo solo l'altra CPU ti serve veramente a
poco, no?

Ciao,
 Marco

-- 
Dobbiamo diffidare delle armonie che non abbiano superato un conflitto
e.e.


pgp4dVCe9FRvT.pgp
Description: PGP signature


Re: Postgresql e kernel/user mode benchmark

2003-06-18 Per discussione Federico Di Gregorio
Il mer, 2003-06-18 alle 11:21, Marco Bodrato ha scritto:
 On Tue, Jun 17, 2003 at 03:54:48PM +0200, Giuseppe Pagano wrote:
 
   Credo che il fatto che che 2 istanze e 2 db perdano piu' tempo in kernel
   mode sia dovuta allo scheduler del kernel che deve switchare tra i 2
   processi... mentre il fatto che il tempo in usermode di 1 istanza e 2 db
 [...]
  macchina piu' simile a quella di produzione (biprocessore e dischi
  scsi), sicuramente vedro' delle differenze, ma per ora mi interessava un
  vostro parere per capire meglio quali parametri valutare.
 
 Una sensazione... Su una macchina biprocessore, due processi dovrebbero
 funzionare meglio. Con un processo solo l'altra CPU ti serve veramente a
 poco, no?

per quello basta un'istanza del db comunque, visto che viene staccato un
nuovo thread/processo per ogni connessione. comunque, consiglio
generico, la *prima* cosa da fare e` aumentare la page-cache di
postgres, in modo che buona parte degli accessi al disco finisca in ram.

utente o cpu non fa molta differenza. in genere tanto tempo cpu
significa niente dma, dischi lenti, etc. quello che conta e`,
ovviamente, il tempo totale.
 
-- 
Federico Di Gregorio
Debian GNU/Linux Developer[EMAIL PROTECTED]
INIT.D Developer   [EMAIL PROTECTED]
  Beh un bacio, se ben dato, non si rifiuta. --  laura




Postgresql e kernel/user mode benchmark

2003-06-17 Per discussione Giuseppe Pagano
Ciao a tutti,
volevo chiedere agli hacker del kernel se e' meglio che un'applicativo
risparmi CPU time in kernel mode a discapito dello user mode o
viceversa.

Mi spiego meglio:
Sto facendo delle prove per vedere se, quando su uno stesso server si
realizzano 2 database di grandi dimensioni, a livello di prestazioni e'
meglio utilizzare 1 sola istanza di postgresql o 2 istanze con 1 db su
ogni istanza.

Per ora sto analizzando la parte relativa al carico che si produce sulla
macchina in conseguenza di una serie di query contemporanee sui 2 db.

Non mi dilungo nella spiegazione della script di test, comunque basti
sapere che produco 200 query mandate in background sui 2 db, prima
creati su 2 istanze separate (porta 5432 e 5433), e poi sulla stessa
istanza.

Ecco i risultati, qualcuno mi aiuta ad interpretarli ?
 
/usr/bin/time -o time.log --append -f %P %S %U sh test_script.sh 

Percentage  CPU-secondsCPU-seconds
of the CPU   (in kernel mode)(in user mode)
-- 2 istanze, 2 db 
  19% 2.2712.12
  18% 2.0911.98
  19% 1.9512.18
  19% 2.3211.90
  19% 2.0411.85
  18% 2.0411.39
  18% 2.1611.72
  19% 2.0011.72
  20% 1.7412.55

MEDIA 2.0611.93444

-- 1 istanze, 2 db --
  19% 1.8012.53
  19% 1.6912.24
  19% 1.6612.06
  19% 1.4112.12
  20% 1.7112.43
  19% 1.6712.32
  19% 1.6712.20
  18% 1.6012.33

MEDIA 1.651   12.2787

La mia domanda principale e' perlappunto: e' meglio risparmiare CPU time
in kernel mode e perderci in user mode (io penso di si) o viceversa ?

Ciao a tutti 
Giuseppe

-- 
Giuseppe Pagano
Linux System Administrator @ Nekhem S.r.L
http://www.nekhem.com
[EMAIL PROTECTED]
cell. 348.45.31.572
fax. 011.56.35.904





Re: Postgresql e kernel/user mode benchmark

2003-06-17 Per discussione Giuseppe Pagano
On Tue, 2003-06-17 at 14:17, Giuseppe Pagano wrote:

 Per ora sto analizzando la parte relativa al carico che si produce sulla
 macchina in conseguenza di una serie di query contemporanee sui 2 db.

Dimenticavo: 
non mi interessa valutare lo spazio occupato in memoria dalle 2 soluzioni visto 
che il server in oggetto ha il classico giga di ram che attualmente e' 
utilizzata solo in minima parte

Ciao
Giuseppe





Re: Postgresql e kernel/user mode benchmark

2003-06-17 Per discussione Mattia Dongili
Disclaimer: non sono un kernel hacker e molto di quello che sto per
scrivere potrebbero essere cavolate, pero' parliamone :)

 volevo chiedere agli hacker del kernel se e' meglio che un'applicativo
 risparmi CPU time in kernel mode a discapito dello user mode o
 viceversa.
[...]
 /usr/bin/time -o time.log --append -f %P %S %U sh test_script.sh 
 
 Percentage  CPU-secondsCPU-seconds
 of the CPU   (in kernel mode)(in user mode)
 -- 2 istanze, 2 db 
[...]
 MEDIA 2.0611.93444
 
 -- 1 istanze, 2 db --
[...]
 MEDIA 1.651   12.2787
 
 La mia domanda principale e' perlappunto: e' meglio risparmiare CPU
 time in kernel mode e perderci in user mode (io penso di si) o
 viceversa ?

secondo me stai facendo i test sbagliati, ovvero il problema dei
database e' piu' facile che sia l'I/O piu' che il consumo di CPU.
Dovresti giocartela sul filesystem piu' che altro. 

Credo che il fatto che che 2 istanze e 2 db perdano piu' tempo in kernel
mode sia dovuta allo scheduler del kernel che deve switchare tra i 2
processi... mentre il fatto che il tempo in usermode di 1 istanza e 2 db
sia piu' alto e' per il sovraccarico di PG.

Tantopiu' che la differenza sul totale non e' apprezzabile e l'utilizzo
di CPU lo stesso. Potresti provare ad alzare i numeri e vedere se le
differenze sono piu' evidenti, tipo 5istanze/5db vs. 1istanza/5db

NB: un po' di informazioni in piu' sulla macchina/kernel/FS/dischi non
guasterebbero (...credo)

boh...
-- 
mattia