Patch for testing query modes on pgbench

Started by ITAGAKI Takahiroover 18 years ago4 messagespatches
Jump to latest
#1ITAGAKI Takahiro
itagaki.takahiro@oss.ntt.co.jp

Here is a updated patch to add query modes into pgbench in order to
measure performance of simple protocol, extended protocol and
prepared statements with it.

[PATCHES] Patch for testing query modes on pgbench
http://momjian.us/mhonarc/patches/msg00335.html

A new runtime option (-M) is added:
-M querymode
Choose the query mode from the follows. default is simple.
- simple: using simple query protocol.
- extended: using extended protocol.
- prepared: using extended protocol with prepared statements.

----
Extended protocol is slower than simple protocol. I think it is a problem
because we have to use the protocol (and cannot use prepared statements)
in some situations, such as connectiong with JDBC to partitioned tables.

$ pgbench -S -n -c5 -t10000 -M simple
tps = 3567.351598 (excluding connections establishing)
$ pgbench -S -n -c5 -t10000 -M extended
tps = 2877.697842 (excluding connections establishing)
$ pgbench -S -n -c5 -t10000 -M prepared
tps = 4532.680627 (excluding connections establishing)

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

Attachments:

pgbench_querymode.patchapplication/octet-stream; name=pgbench_querymode.patchDownload+298-167
#2Tatsuo Ishii
ishii@postgresql.org
In reply to: ITAGAKI Takahiro (#1)
Re: Patch for testing query modes on pgbench

Here is a updated patch to add query modes into pgbench in order to
measure performance of simple protocol, extended protocol and
prepared statements with it.

[PATCHES] Patch for testing query modes on pgbench
http://momjian.us/mhonarc/patches/msg00335.html

A new runtime option (-M) is added:
-M querymode
Choose the query mode from the follows. default is simple.
- simple: using simple query protocol.
- extended: using extended protocol.
- prepared: using extended protocol with prepared statements.

----
Extended protocol is slower than simple protocol. I think it is a problem
because we have to use the protocol (and cannot use prepared statements)
in some situations, such as connectiong with JDBC to partitioned tables.

$ pgbench -S -n -c5 -t10000 -M simple
tps = 3567.351598 (excluding connections establishing)
$ pgbench -S -n -c5 -t10000 -M extended
tps = 2877.697842 (excluding connections establishing)
$ pgbench -S -n -c5 -t10000 -M prepared
tps = 4532.680627 (excluding connections establishing)

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

I got following:

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wendif-labels -fno-strict-aliasing -I../../src/interfaces/libpq -I. -I../../src/include -D_GNU_SOURCE -c -o pgbench.o pgbench.c
pgbench.c: In function `parseQuery':
pgbench.c:1105: error: `var' undeclared (first use in this function)
pgbench.c:1105: error: (Each undeclared identifier is reported only once
pgbench.c:1105: error: for each function it appears in.)
pgbench.c:1092: warning: unused variable `hvar'

(note that the line number might be different what it should be in
your work file since I have applied Yoshiyuki's patches in prior).

The cause of this is obvious and easy to fix. However I wonder this is
because of accidental old or wrong patches. Can you resubmit new patches
against CVS Head?
--
Tatsuo Ishii
SRA OSS, Inc. Japan

#3ITAGAKI Takahiro
itagaki.takahiro@oss.ntt.co.jp
In reply to: Tatsuo Ishii (#2)
Re: Patch for testing query modes on pgbench

Tatsuo Ishii <ishii@postgresql.org> wrote:

The cause of this is obvious and easy to fix. However I wonder this is
because of accidental old or wrong patches. Can you resubmit new patches
against CVS Head?

Thanks for your review. Sorry, it's a wrong patch.
I found another bugs in handling external scripts and ':'
at cast operators '::'. I'll send new one.

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

Attachments:

pgbench_querymode-3.patchapplication/octet-stream; name=pgbench_querymode-3.patchDownload+300-168
#4Tatsuo Ishii
ishii@postgresql.org
In reply to: ITAGAKI Takahiro (#3)
Re: Patch for testing query modes on pgbench

Patches applied. Thanks.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

Show quoted text

Tatsuo Ishii <ishii@postgresql.org> wrote:

The cause of this is obvious and easy to fix. However I wonder this is
because of accidental old or wrong patches. Can you resubmit new patches
against CVS Head?

Thanks for your review. Sorry, it's a wrong patch.
I found another bugs in handling external scripts and ':'
at cast operators '::'. I'll send new one.

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