From: Greg Stark <gsstark@mit.edu>
To: Erik Jones <ejones@engineyard.com>
Cc: Rob Sargent <robjsargent@gmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Taking the cache out of the equation?
Date: Sat, 13 Jun 2009 00:25:19 +0200
Message-ID: <407d949e0906121525w1e0f13f0vf41bd9f63c032ebe@mail.gmail.com> (raw)
In-Reply-To: <875976BE-CAC0-4F10-B7CC-0D651B109967@engineyard.com>
References: <4A2EA121.2070004@gmail.com>
<875976BE-CAC0-4F10-B7CC-0D651B109967@engineyard.com>
On Sat, Jun 13, 2009 at 12:12 AM, Erik Jones<ejones@engineyard.com> wrote:
>
> On Jun 9, 2009, at 10:51 AM, Rob Sargent wrote:
>
>> Caching helps a *lot* and I'm thankful for that but I would like to take
>> it out of the picture as I massage my queries for better performance.
>> Naturally the first invocation of the query cannot take advantage of the
>> cache and these queries would normally only be called once for the same
>> target data. What tricks are there to flush, ignore, circumvent the
>> caching boost? (Especially in the production environment.)
>
> Why on earth would you want your queries to always go to disk?
I think he answered that in the original message -- to better
represent the real workload.
Unfortunately there isn't really a good answer. On Linux you can echo
1 > /proc/sys/vm/drop_caches but that doesn't affect the postgres
shared buffers and worse, it does affect other buffers that probably
would still be cached.
The best answer is usually to build a test configuration large enough
that it has similar cache effects as your production environment. Then
test random values and repeat the test many times to avoid any random
fluctuations.
--
greg
http://mit.edu/~gsstark/resume.pdf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: gsstark@mit.edu, ejones@engineyard.com, robjsargent@gmail.com
Subject: Re: Taking the cache out of the equation?
In-Reply-To: <407d949e0906121525w1e0f13f0vf41bd9f63c032ebe@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox