Buenos días a todos.

 

Les escribo porque necesito que me puedan dar una ayuda con el siguiente
problema que me he topado y no tengo idea como descubrir dónde está el
error:

 

La situación es la siguiente:

 

He instalado un PostgreSQL 9.6.2 sobre un servidor Ubuntu 16.04.2 LTS con
las siguientes prestaciones:

12 núcleos y 30 GB de RAM.

 

He creado una base con pgbench para pruebas y resulta que el rendimiento
sobre un test con pgbench es muy malo cuando el commit en modo síncrono está
activo:

 

Estos son los resultados:

 

scaling factor: 1

query mode: simple

number of clients: 50

number of threads: 12

duration: 30 s

number of transactions actually processed: 2773

latency average = 544.336 ms

latency stddev = 617.941 ms

tps = 91.180927 (including connections establishing)

tps = 91.194080 (excluding connections establishing)

 

Analizando el log de postgres con pgbadger pude ver que los updates demoran
enormemente para una tabla con 10 tuplas solamente. Luego ejecuté un explain
analyze y los resultados del explain se contradicen a lo que arroja el test:

 

Update on pgbench_tellers  (cost=4.14..8.16 rows=1 width=358) (actual
time=0.021..0.021 rows=0 loops=1)

   ->  Bitmap Heap Scan on pgbench_tellers  (cost=4.14..8.16 rows=1
width=358) (actual time=0.010..0.010 rows=1 loops=1)

         Recheck Cond: (tid = 5)

         Heap Blocks: exact=1

         ->  Bitmap Index Scan on pgbench_tellers_pkey  (cost=0.00..4.14
rows=1 width=0) (actual time=0.005..0.005 rows=1 loops=1)

               Index Cond: (tid = 5)

Planning time: 0.052 ms

Execution time: 0.043 ms

 

El mismo test lo he realizado en otras máquinas de prueba incluso en
máquinas virtuales en mi pc local y nunca han arrojado resultados tan malos.

 

Agradecería enormemente una ayuda en este tema.

 

Saludos a todos.

Responder a