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

From Andrea Suisani
Subject Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]
Date
Msg-id 50C05AF0.1050306@opinioni.net
Whole thread Raw
In response to Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]  (John Lister <john.lister@kickstone.com>)
List 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
ifyou 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




pgsql-performance by date:

Previous
From: John Lister
Date:
Subject: Re: Ubuntu 12.04 / 3.2 Kernel Bad for PostgreSQL Performance
Next
From: Andrea Suisani
Date:
Subject: Re: xfs perform a lot better than ext4 [WAS: Re: Two identical systems, radically different performance]