Re: random_page_cost vs ssd?

Lists: pgsql-performance
From: Jeff <threshar(at)torgo(dot)978(dot)org>
To: pgsql-performance(at)postgresql(dot)org
Subject: random_page_cost vs ssd?
Date: 2009-03-11 13:46:36
Message-ID: B1349331-0035-4FFE-80E9-91A4B168F4DB@torgo.978.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

I've got a couple x25-e's in production now and they are working like
a champ. (In fact, I've got another box being built with all x25s in
it. its going to smoke!)

Anyway, I was just reading another thread on here and that made me
wonder about random_page_cost in the world of an ssd where a seek is
basically free. I haven't tested this yet (I can do that next week),
but logically, in this scenario wouldn't lowering random_page_cost be
ideal or would it not really matter in the grand scheme of things?

--
Jeff Trout <jeff(at)jefftrout(dot)com>
http://www.stuarthamm.net/
http://www.dellsmartexitin.com/


From: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>
To: Jeff <threshar(at)torgo(dot)978(dot)org>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 15:37:55
Message-ID: 2f4958ff0903110837x21aa4c75m4473d053127c043d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

On Wed, Mar 11, 2009 at 1:46 PM, Jeff <threshar(at)torgo(dot)978(dot)org> wrote:
> I've got a couple x25-e's in production now and they are working like a
> champ.  (In fact, I've got another box being built with all x25s in it. its
> going to smoke!)
>
> Anyway, I was just reading another thread on here and that made me wonder
> about random_page_cost in the world of an ssd where a seek is basically
> free.  I haven't tested this yet (I can do that next week), but logically,
> in this scenario wouldn't lowering random_page_cost be ideal or would it not
> really matter in the grand scheme of things?

Just on a side note, random access on SSD is still more expensive than
sequential, because it is designed in banks.
If you don believe me, turn off any software/OS cache , and try random
access timing against seq reads.
This gap is just much much narrower.

--
GJ


From: Scott Carey <scott(at)richrelevance(dot)com>
To: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>, Jeff <threshar(at)torgo(dot)978(dot)org>
Cc: "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 17:06:53
Message-ID: BDFBB77C9E07BE4A984DAAE981D19F961AE959DB8C@EXVMBX018-1.exch018.msoutlookonline.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

At 8k block size, you can do more iops sequential than random.
A X25-M I was just playing with will do about 16K iops reads at 8k block size with 32 concurrent threads.
That is about 128MB/sec. Sequential reads will do 250MB/sec. At 16k block size it does about 220MB/sec and at 32k block size there is no penalty for random access. All tests start with 'cat 3 > /proc/sys/vm/drop_caches', and work on a 32GB data set (40% of the disk).

Also, over time the actual location of the physical blocks will not map to the LBAs requested. This means that internally a sequential read is actually a random read, and that a random write is actually a sequential write. That is how the SSD's with good write performance are doing it, with advanced LBA to physical dynamic mapping.

As for the random_page_cost I'd make sure to set it virtually the same as the sequential cost. Perhaps 1 for sequential and 1.1 for random. One may also want to lower both of those values equally to be somewhat closer to the cpu costs. You want the planner to generally conserve total block access count and not favor streaming reads too much over random reads.

________________________________________
From: pgsql-performance-owner(at)postgresql(dot)org [pgsql-performance-owner(at)postgresql(dot)org] On Behalf Of Grzegorz Jaśkiewicz [gryzman(at)gmail(dot)com]
Sent: Wednesday, March 11, 2009 8:37 AM

On Wed, Mar 11, 2009 at 1:46 PM, Jeff <threshar(at)torgo(dot)978(dot)org> wrote:
> I've got a couple x25-e's in production now and they are working like a
> champ. (In fact, I've got another box being built with all x25s in it. its
> going to smoke!)
>
> Anyway, I was just reading another thread on here and that made me wonder
> about random_page_cost in the world of an ssd where a seek is basically
> free. I haven't tested this yet (I can do that next week), but logically,
> in this scenario wouldn't lowering random_page_cost be ideal or would it not
> really matter in the grand scheme of things?

Just on a side note, random access on SSD is still more expensive than
sequential, because it is designed in banks.
If you don believe me, turn off any software/OS cache , and try random
access timing against seq reads.
This gap is just much much narrower.

--
GJ

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


From: Andrej <andrej(dot)groups(at)gmail(dot)com>
To: Scott Carey <scott(at)richrelevance(dot)com>
Cc: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>, Jeff <threshar(at)torgo(dot)978(dot)org>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 19:04:17
Message-ID: b35603930903111204l6825f931kf67183f7c48971fe@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

2009/3/12 Scott Carey <scott(at)richrelevance(dot)com>:
> [...snip...]. All tests start with 'cat 3 > /proc/sys/vm/drop_caches', and work on
> a 32GB data set (40% of the disk).
What's the content of '3' above?

--
Please don't top post, and don't use HTML e-Mail :} Make your quotes concise.

http://www.american.edu/econ/notes/htmlmail.htm


From: Scott Carey <scott(at)richrelevance(dot)com>
To: Andrej <andrej(dot)groups(at)gmail(dot)com>
Cc: Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>, Jeff <threshar(at)torgo(dot)978(dot)org>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 19:28:56
Message-ID: C5DD5F07.32E1%scott@richrelevance.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

Google > “linux drop_caches” first result:
http://www.linuxinsight.com/proc_sys_vm_drop_caches.html

To be sure a test is going to disk and not file system cache for everything in linux, run:
‘sync; cat 3 > /proc/sys/vm/drop_caches’

On 3/11/09 11:04 AM, "Andrej" <andrej(dot)groups(at)gmail(dot)com> wrote:

2009/3/12 Scott Carey <scott(at)richrelevance(dot)com>:
> [...snip...]. All tests start with 'cat 3 > /proc/sys/vm/drop_caches', and work on
> a 32GB data set (40% of the disk).
What's the content of '3' above?

--
Please don't top post, and don't use HTML e-Mail :} Make your quotes concise.

http://www.american.edu/econ/notes/htmlmail.htm


From: hubert depesz lubaczewski <depesz(at)depesz(dot)com>
To: Scott Carey <scott(at)richrelevance(dot)com>
Cc: Andrej <andrej(dot)groups(at)gmail(dot)com>, Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>, Jeff <threshar(at)real(dot)jefftrout(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 19:32:27
Message-ID: 20090311193227.GA19182@depesz.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

On Wed, Mar 11, 2009 at 12:28:56PM -0700, Scott Carey wrote:
> Google > “linux drop_caches” first result:
> http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
> To be sure a test is going to disk and not file system cache for everything in linux, run:
> ‘sync; cat 3 > /proc/sys/vm/drop_caches’

well. the url you showed tells to do: echo 3 > ...
cat 3 is "slightly" different.

Best regards,

depesz

--
Linkedin: http://www.linkedin.com/in/depesz / blog: http://www.depesz.com/
jid/gtalk: depesz(at)depesz(dot)com / aim:depeszhdl / skype:depesz_hdl / gg:6749007


From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Scott Carey" <scott(at)richrelevance(dot)com>
Cc: <gryzman(at)gmail(dot)com>,<Andrej <andrej(dot)groups(at)gmail(dot)com>, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>, "Jeff" <threshar(at)torgo(dot)978(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 19:40:44
Message-ID: 49B7CD6B.EE98.0025.0@wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

Scott Carey <scott(at)richrelevance(dot)com> wrote:
> On 3/11/09 11:04 AM, "Andrej" <andrej(dot)groups(at)gmail(dot)com> wrote:
>> 2009/3/12 Scott Carey <scott(at)richrelevance(dot)com>:

>>> All tests start with 'cat 3 > /proc/sys/vm/drop_caches'

>> What's the content of '3' above?

> Google > *linux drop_caches* first result:
> http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
>
> To be sure a test is going to disk and not file system cache for
> everything in linux, run:
> *sync; cat 3 > /proc/sys/vm/drop_caches*

The cited page recommends "echo 3" -- is that what you used in your
tests, or the "cat 3" you repeated specify? If the latter, what is in
the "3" file?

>> Please don't top post, and don't use HTML e-Mail :} Make your
>> quotes concise.
>>
>> http://www.american.edu/econ/notes/htmlmail.htm

Did you miss this part?

-Kevin


From: Scott Carey <scott(at)richrelevance(dot)com>
To: Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov>
Cc: "gryzman(at)gmail(dot)com" <gryzman(at)gmail(dot)com>, "\"<Andrej <andrej(dot)groups(at)gmail(dot)com>\"" <"<Andrej <andrej(dot)groups(at)gmail(dot)com>">, "pgsql-performance(at)postgresql(dot)org" <pgsql-performance(at)postgresql(dot)org>, Jeff <threshar(at)torgo(dot)978(dot)org>
Subject: Re: random_page_cost vs ssd?
Date: 2009-03-11 20:31:13
Message-ID: C5DD6DA0.32FC%scott@richrelevance.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-performance

Echo. It was a typo.

On 3/11/09 11:40 AM, "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov> wrote:

Scott Carey <scott(at)richrelevance(dot)com> wrote:
> On 3/11/09 11:04 AM, "Andrej" <andrej(dot)groups(at)gmail(dot)com> wrote:
>> 2009/3/12 Scott Carey <scott(at)richrelevance(dot)com>:

>>> All tests start with 'cat 3 > /proc/sys/vm/drop_caches'

>> What's the content of '3' above?

> Google > *linux drop_caches* first result:
> http://www.linuxinsight.com/proc_sys_vm_drop_caches.html
>
> To be sure a test is going to disk and not file system cache for
> everything in linux, run:
> *sync; cat 3 > /proc/sys/vm/drop_caches*

The cited page recommends "echo 3" -- is that what you used in your
tests, or the "cat 3" you repeated specify? If the latter, what is in
the "3" file?

>> Please don't top post, and don't use HTML e-Mail :} Make your
>> quotes concise.
>>
>> http://www.american.edu/econ/notes/htmlmail.htm

Did you miss this part?

-Kevin