Hi Karanbir,
On 14 October 2010 19:59, Karanbir Singh mail-li...@karan.org wrote:
On 10/14/2010 07:48 AM, Tom Bishop wrote:
I think xen is still on top in terms of performance and featuresnow
that is indeed what it 'feels' like, but I'm quite keen on putting some
numbers on that.
I have done some testing some time ago on one of the EQ machines that
I got from hetzner.de. Full spec of the machine was as following:
* Intel® Core™ i7-920
* 8 GB DDR3 RAM
* 2 x 750 GB SATA-II HDD
It's nothing big but even though results are quite interesting. All
tests were performed on CentOS 5.5 x86_64 with PostgreSQL 8.4 (from
CentOS repos).
I have run some PostgreSQL PGBench tests as well as Bonnie++ tests.
The PostgreSQL tests was divided into two tests having three goes (to
get an idea of average). The commands I used for testing were:
dropdb pgbench sync sleep 3 createdb pgbench sync sleep 3
pgbench -i -s 100 -U postgres -d pgbench sync sleep 3
pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench 2/dev/null sync \
sleep 3 pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench 2/dev/null
\
sync sleep 3 pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench
2/dev/null \
sync sleep 3
Now results. First CentOS5/x86_64 without any virtualisation, without
any PostgreSQL optimisation:
-bash-3.2$ pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench 2/dev/null
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 141.191292 (including connections establishing)
tps = 141.196776 (excluding connections establishing)
-bash-3.2$ pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench 2/dev/null
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 156.479561 (including connections establishing)
tps = 156.486222 (excluding connections establishing)
-bash-3.2$ pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench 2/dev/null
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 164.880109 (including connections establishing)
tps = 164.888009 (excluding connections establishing)
Now after optimisation (shared_buffers, effective_cache_size etc.):
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 403.430951 (including connections establishing)
tps = 403.474562 (excluding connections establishing)
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 336.060764 (including connections establishing)
tps = 336.093214 (excluding connections establishing)
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 446.607705 (including connections establishing)
tps = 446.664466 (excluding connections establishing)
Now KVM based VM with 7GB RAM and 8 CPUs. Using virtio and LVM
partitions as backend.
PostgreSQL results *w/o* optimisation.
-bash-3.2$ pgbench -c 10 -t 5000 -s 100 -U postgres -d pgbench
2/dev/null sync sleep 3 pgbench -c 10 -t 5000 -s 100 -U
postgres -d pgbench 2/dev/null sync sleep 3 pgbench -c 10 -t
5000 -s 100 -U postgres -d pgbench 2/dev/null sync sleep 3
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 124.578488 (including connections establishing)
tps = 124.585776 (excluding connections establishing)
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 140.451736 (including connections establishing)
tps = 140.463105 (excluding connections establishing)
pghost: pgport: nclients: 10 nxacts: 5000 dbName: pgbench
transaction type: TPC-B (sort of)
scaling factor: 100
number of clients: 10
number of transactions per client: 5000
number of transactions actually processed: 5/5
tps = 148.091563 (including connections establishing)