Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]

From: Andrea Suisani <sickpig(at)opinioni(dot)net>
To: John Lister <john(dot)lister(at)kickstone(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]
Date: 2012-12-06 08:44:32
Message-ID: 50C05AF0.1050306@opinioni.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi John,

On 12/06/2012 09:29 AM, John Lister wrote:
>
>> on this box:
>>
>>> in a brief: the box is dell a PowerEdge r720 with 16GB of RAM,
>>> the cpu is a Xeon 5620 with 6 core, the OS is installed on a raid
>>> (sata disk 7.2k rpm) and the PGDATA is on separate RAID 1 array
>>> (sas 15K rpm) and the controller is a PERC H710 (bbwc with a cache
>>> of 512 MB). (ubuntu 12.04)
>>
>> on the same machine with the same configuration,
>> having PGDATA on a xfs formatted partition gives me
>> a much better TPS.
>>
>> e.g. pgbench -c 20 -t 5000 gives me 6305 TPS
>> (3 runs with "echo 3 > /proc/sys/vm/drop_caches && /etc/init.d/postgresql-9.2 restart"
>> in between).

> Hi, I found this interesting as I'm trying to do some benchmarks on my box which is
> very similar to the above but I don't believe the tps is any where near what it should be.
> Is the 6305 figure from xfs?

yes, it is.

> I'm assuming that your main data array is just 2 15k sas drives,

correct

> are you putting the WAL on the data array or is that stored somewhere else?

pg_xlog is placed in the data array.

> Can I ask what scaling params,

sure, I've initialized pgbench db issuing:

pgbench -i -s 10 pgbench

> etc you used to build the pgbench tables and look at your postgresql.conf file to see if I missed something (offline if you wish)

those are non default values in postgresql.conf

listen_addresses = '*'
max_connections = 100
shared_buffers = 3200MB
work_mem = 30MB
maintenance_work_mem = 800MB
synchronous_commit = off
full_page_writes = off
checkpoint_segments = 40
checkpoint_completion_target = 0.9
random_page_cost = 3.5
effective_cache_size = 10GB
log_timezone = 'localtime'
stats_temp_directory = 'pg_stat_tmp_ram'
autovacuum_naptime = 5min

and then OS tweaks:

HT bios disabled
/sbin/blockdev --setra 8192 /dev/sdb
echo deadline > /sys/block/sdb/queue/scheduler
vm.swappiness=0
vm.overcommit_memory=2
vm.dirty_ratio=2
vm.dirty_background_ratio=1
kernel.shmmax=3454820352
kernel.shmall=2048341
$PGDATA is on xfs (rw,noatime)
tmpfs on /db/9.2/pg_stat_tmp_ram type tmpfs (rw,size=50M,uid=1001,gid=1001)
kernel 3.2.0-32-generic

Andrea

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Andrea Suisani 2012-12-06 09:33:06 Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]
Previous Message John Lister 2012-12-06 08:29:52 Re: Ubuntu 12.04 / 3.2 Kernel Bad for PostgreSQL Performance