Den 30/11/2012 kl. 15.02 skrev Shaun Thomas <stho...@optionshouse.com>:

> On 11/29/2012 08:32 PM, Niels Kristian Schjødt wrote:
> 
>> If I do a "sudo iostat -k 1"
>> I get a lot of output like this:
>> Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
>> sda               0.00         0.00         0.00          0          0
>> sdb               0.00         0.00         0.00          0          0
>> sdc             546.00      2296.00      6808.00       2296       6808
>> sdd             593.00      1040.00      7416.00       1040       7416
>> md1               0.00         0.00         0.00          0          0
>> md0               0.00         0.00         0.00          0          0
>> md2            1398.00      3328.00     13064.00       3328      13064
>> md3               0.00         0.00         0.00          0          0
>> 
> 
>> The storage thing is, that the sda and sdb is the SSD drives and the
>> sdc and sdd is the HDD drives. The md0, md1 and md2 is the raid
>> arrays on the HDD's and the md3 is the raid on the SSD's. Neither of
>> the md3 or the SSD's are getting utilized - and I should expect that
>> since they are serving my pg_xlog right?
> 
> No, that's right. They are, but it would appear that the majority of your 
> traffic actually isn't due to transaction logs like I'd suspected. If you get 
> a chance, could you monitor the contents of:
> 
> /var/lib/postgresql/9.2/main/base/pgsql_tmp
> 
> Your main drives are getting way, way more writes than they should. 13MB per 
> second is ridiculous even under heavy write loads. Based on the TPS count, 
> you're basically saturating the ability of those two 3TB drives. Those writes 
> have to be coming from somewhere.
> 
>> #   sudo mkdir -p /ssd/pg_xlog
> 
> This is going to sound stupid, but are you *sure* the SSD is mounted at /ssd ?
> 
>> #   sudo chown -R  postgres.postgres /ssd/pg_xlog
>> #   sudo chmod 700 /ssd/pg_xlog
>> #   sudo cp -rf /var/lib/postgresql/9.2/main/pg_xlog/* /ssd/pg_xlog
>> #   sudo mv /var/lib/postgresql/9.2/main/pg_xlog 
>> /var/lib/postgresql/9.2/main/pg_xlog_old
>> #   sudo ln -s /ssd/pg_xlog /var/lib/postgresql/9.2/main/pg_xlog
>> #   sudo /etc/init.d/postgresql-9.2 start
> 
> The rest of this is fine, except that you probably should have added:
> 
> sudo chown -R postgres:postgres /ssd/pg_xlog/*
> 
> 
> -- 
> Shaun Thomas
> OptionsHouse | 141 W. Jackson Blvd. | Suite 500 | Chicago IL, 60604
> 312-444-8534
> stho...@optionshouse.com
> 
> ______________________________________________
> 
> See http://www.peak6.com/email_disclaimer/ for terms and conditions related 
> to this email

Oh my, Shaun once again you nailed it! That's what you get from working too 
late in the night - I forgot to run 'sudo mount -a' I feel so embarrassed now 
:-( - In other words no the drive was not mounted to the /ssd dir. 
So now it is, and this has gained me a performance increase of roughly around 
20% - a little less than what I would have hoped for but still better - but 
anyways yes that's right.
I still see a lot of CPU I/O when doing a lot of writes, so the question is, 
what's next. Should I try and go' for the connection pooling thing or monitor 
that /var/lib/postgresql/9.2/main/base/pgsql_tmp dir (and what exactly do you 
mean by monitor - size?)

PS. comment on the "Why not move the data to the SSDs" you are exactly right. i 
don't think the SSD's will be big enough for the data within a not too long 
timeframe, so that is exactly why I want to keep my data on the "big" drives.
PPS. I talked with New Relic and it turns out there is something wrong with the 
disk monitoring tool, so that's why there was nothing in the disk charts but 
iostat showed a lot of activity.




-- 
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to