Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search archives
  Advanced Search

V3 protocol is slower than V2



Hi,

V3 protocol seems to be slower than V2 if we don't use prepared statement
together. I measured performance of protocols on 8.3beta using pgbench -S
with modification to use PQsendQueryParams and PQsendQueryPrepared
instead of PQsendQuery. (I'll send the patch to -patches shortly.)

  [V2]  PQsendQuery (V2; original)
  [V3]  PQsendQueryParams (V3)
  [V3P] PQsendQueryPrepared (V3 with prepared statements)

V3 was 12% slower than V2, and V3P was 40% faster than V2.

There seems to be some inefficient behaviors in the handling of
V3 protocol or in libpq. Are there any TODO items here?

----
pg_ctl start -o "-c shared_buffers=1GB"
./pgbench -n -S -s50 -c16 -t100000 -M [V2|V3|PREPARE]
transaction type: SELECT only
scaling factor: 50
number of clients: 16
number of transactions per client: 100000
number of transactions actually processed: 1600000/1600000

sql mode: V2
tps = 19025.932203 (including connections establishing)
tps = 19036.285885 (excluding connections establishing)

sql mode: V3
tps = 16699.173521 (including connections establishing)
tps = 16707.135700 (excluding connections establishing)

sql mode: PREPARE
tps = 26629.710398 (including connections establishing)
tps = 26649.901658 (excluding connections establishing)

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center




Home | Main Index | Thread Index

Privacy Policy | About PostgreSQL
Copyright © 1996 – 2012 PostgreSQL Global Development Group