17.12.2012 Views

PostgreSQL 9.3 performance

PostgreSQL 9.3 performance

PostgreSQL 9.3 performance

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Results<br />

<strong>PostgreSQL</strong> <strong>9.3</strong> Pgbench Transactions Per Second, 2x Xeon X5650 / 24GB (24 threads), Unix socket<br />

Clients 1 3 6 9 12 15 18 24 32 48 64 80<br />

DragonFly-3.0<br />

5024 16077 33735 26530 31304 31825 30002 31132 23898 9769 5786 4193<br />

DragonFly 3.1 2012-09-23 9665 28052 60178 84167 104149 119508 133629 161237 144191 130426 125031 120230<br />

FreeBSD 9.1-RC1 7322 26408 50749 69273 80759 89724 95678 96475 90612 69029 54197 43334<br />

Scientific Linux 6.2<br />

9518 24822 47921 65354 88592 107255 128261 167080 149119 143467 138124 135827<br />

DragonFly 3.1 idprio=15<br />

133501 161489 151343 157698 152214 151031<br />

tps<br />

180000<br />

160000<br />

140000<br />

120000<br />

100000<br />

80000<br />

60000<br />

40000<br />

20000<br />

<strong>PostgreSQL</strong> <strong>9.3</strong> <strong>performance</strong><br />

0<br />

1 3 6 9 12 15 18 24 32 48 64 80<br />

clients<br />

Page 1<br />

DragonFly-3.0<br />

DragonFly 3.1 2012-09-23<br />

FreeBSD 9.1-RC1<br />

Scientific Linux 6.2<br />

DragonFly 3.1 idprio=15


Detailled TPS results excluding connections establishing<br />

All tests were done with Postgres <strong>9.3</strong>-devel and the new mmap() shared memory facility<br />

Clients (and threads)<br />

Scientific Linux 6.2 mmap<br />

Scientific Linux 6.2 mmap<br />

Scientific Linux 6.2 mmap<br />

Raw data<br />

1 3 6 9 12 15 18 24 32 48 64 80<br />

9,883 23,825 49,273 65,392 88,944 106,995 128,606 167,035 149,162 143,405 138,247 135,839<br />

9,422 26,043 47,051 65,398 89,032 107,528 127,081 167,194 149,207 143,690 137,909 136,024<br />

9,248 24,597 47,438 65,273 87,800 107,241 129,094 167,011 148,989 143,305 138,218 135,617<br />

FreeBSD 9.1 2012-09-21 7,161 26,390 50,810 69,254 80,810 89,755 96,732 96,610 90,695 69,035 54,250 43,150<br />

FreeBSD 9.1 2012-09-21 7,248 26,533 50,798 69,240 80,767 89,700 95,134 96,359 90,535 69,145 54,136 43,402<br />

FreeBSD 9.1 2012-09-21 7,558 26,301 50,639 69,324 80,699 89,718 95,168 96,455 90,607 68,906 54,206 43,449<br />

DragonFly 3.0 mmap<br />

DragonFly 3.0 mmap<br />

DragonFly 3.0 mmap<br />

DragonFly 3.1 2012-09-23<br />

DragonFly 3.1 2012-09-23<br />

DragonFly 3.1 2012-09-23<br />

DragonFly 3.1 2012-09-25<br />

DragonFly 3.1 2012-09-25<br />

DragonFly 3.1 2012-09-25<br />

DragonFly 3.1 2012-09-25 #2<br />

DragonFly 3.1 2012-09-26<br />

Same, pgbench idprio = 15<br />

5,659 17,199 35,552 31,191 30,928 32,297 28,600 29,556 26,920 10,299 5,935 4,150<br />

4,202 14,198 33,562 29,122 31,558 31,368 30,392 30,383 22,474 9,940 5,702 4,271<br />

5,210 16,833 32,091 19,276 31,426 31,809 31,014 33,456 22,301 9,070 5,721 4,157<br />

10,386 26,537 59,601 85,788 104,062 118,750 134,171 162,812 144,326 130,386 125,034 120,169<br />

10,362 26,583 59,914 82,980 103,450 120,084 132,801 158,181 144,437 129,925 124,986 120,172<br />

8,248 31,036 61,018 83,734 104,936 119,691 133,916 162,718 143,811 130,967 125,071 120,348<br />

10,456 30,763 60,339 87,692 105,410 117,581 131,430 153,959 128,117 140,516 121,021 112,504<br />

10,633 31,062 60,246 87,023 103,099 119,303 132,225 159,387 127,870 142,523 120,762 112,911<br />

10,685 30,730 59,489 86,796 103,451 119,281 131,603 153,200 127,295 142,024 120,616 112,803<br />

10,433 30,611 61,529 87,914 106,907 119,516 133,996 159,796 142,343 129,759 121,279 114,355<br />

10,313 30,158 60,542 85,403 105,290 118,596 132,871 160,590 143,031 131,994 125,205 119,973<br />

Page 2<br />

133,501 161,489 151,343 157,698 152,214 151,031


Hardware:<br />

- 2x Xeon X5650 (24 threads total)<br />

- 24 GB RAM<br />

Setup<br />

Software<br />

<strong>PostgreSQL</strong> <strong>9.3</strong>-devel, just after the patch changing setup of the shared memory segment to mmap<br />

Scientific Linux 6.2, FreeBSD-9.1-RC1 or DragonFly 3.1<br />

Goal:<br />

Test scalability with pgbench, show improvements, compare with other operating systems<br />

postgresql.conf : Initialize database cluster :<br />

max_connections = 100<br />

update_process_title = off<br />

/usr/local/postgres-<strong>9.3</strong>.mmap/bin/initdb -D /usr/local/pgdata.93<br />

autovacuum = off Run Postgres :<br />

shared_buffers = 6GB<br />

effective_cache_size = 12GB<br />

/usr/local/postgres-<strong>9.3</strong>.mmap/bin/postgres -D /usr/local/pgdata.93<br />

Create test database<br />

psql template1<br />

create database bench;<br />

pgbench -i -s 800 bench Scaling factor 800 => ~= 11GB database<br />

Running tests :<br />

pgbench -j 6 – c 6 -T 1800 -S bench # Dummy run to warm up caches for 30 mn<br />

#!/bin/sh<br />

for clients in 1 3 6 9 12 15 18 24 32 48 64 80<br />

do<br />

THREADS=${clients}<br />

./pgbench -j ${THREADS} -c ${clients} -T 300 -S bench > result_${clients}.txt<br />

done<br />

Repeat three times and average the individual results<br />

Page 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!